我在使用Ajax访问的Java服务器应用程序中有一个字符串.它看起来类似于以下内容:

var json = [{
    "adjacencies": [
        {
          "nodeTo": "graphnode2",
          "nodeFrom": "graphnode1",
          "data": {
            "$color": "#557EAA"
          }
        }
    ],
    "data": {
      "$color": "#EBB056",
      "$type": "triangle",
      "$dim": 9
    },
    "id": "graphnode1",
    "name": "graphnode1"
},{
    "adjacencies": [],
    "data": {
      "$color": "#EBB056",
      "$type": "triangle",
      "$dim": 9
    },
    "id": "graphnode2",
    "name": "graphnode2"
}];

当字符串从服务器中取出时,有没有一种简单的方法将其转换为一个活动的JavaScript对象(或数组)?还是必须手动拆分字符串并手动构建对象?

推荐答案

现代浏览器支持JSON.parse().

var arr_from_json = JSON.parse( json_string );

在没有的浏览器中,可以包含the json2 library个.

Javascript相关问答推荐

使脚本兼容于其他YouTube URL格式

如果使用React Select ,如何将CSS类添加到元素中?

React:如何将表格收件箱正确渲染为表格主体内的组件?

如何从对象嵌套数组的第二级对象中过滤出键

Next.js Next/Image图像隐含性有任何类型-如何修复?

使用json文件字符串来enum显示类型字符串无法按照计算的enum成员值的要求分配给类型号

成帧器运动中的运动组件为何以收件箱开始?

将json数组项转换为js中的扁平

如何才能拥有在jQuery终端中执行命令的链接?

useNavigation更改URL,但不呈现或显示组件

使用JavaScript重新排序行

从WooCommerce Checkout Country字段重新排序国家,保持国家同步

如何通过将实例方法的名称传递给具有正确类型的参数的继承方法来调用实例方法?

为什么123[';toString';].long返回1?

禁用.js文件扩展名并从目录导入隐式根index.js时,找不到NodeJS导入模块

使用auth.js保护API路由的Next.JS,FETCH()不起作用

在开发期间,Web浏览器如何运行&qot;.jsx&qot;文件?

是否可以在Photoshop CC中zoom 路径项?

如何在Press上重新启动EXPO-AV视频?

图表4-堆叠线和条形图之间的填充区域