如何在Javascript中解析JSON字符串?

时间:2012-05-22 18:20:19

标签: javascript json

我认为这是非常基本的,我错过了一些明显的东西。

我想访问名为graph_data的变量中的值,该变量包含以下JSON对象:

graph_data= {"data":[0,0,0,0,0,0,0.1,0.4,0,0,8.2,7,5.1,0,0,0,0,0,0,0,0,0,0,0,0]}

当我尝试获取graph_data.data.length时,我得到一个错误,graph_data.data是“未定义的”。

我似乎无法让graph_data.data [0]返回任何内容。

我在这里缺少什么?

2 个答案:

答案 0 :(得分:5)

您的代码运行良好:

graph_data = {"data":[0,0,0,0,0,0,0.1,0.4,0,0,8.2,7,5.1,0,0,0,0,0,0,0,0,0,0,0,0]};
console.log(graph_data.data.length); // Outputs 25

你确定你有对象文字而不是字符串吗?

如果你有后者,你需要用JSON.parse解析它:

graph_data = JSON.parse('{"data":[0,0,0,0,0,0,0.1,0.4,0,0,8.2,7,5.1,0,0,0,0,0,0,0,0,0,0,0,0]}');

对于没有本地JSON支持的旧浏览器,您需要一个解析器,如json2.js

答案 1 :(得分:0)

适合我...

graph_data= {"data":[0,0,0,0,0,0,0.1,0.4,0,0,8.2,7,5.1,0,0,0,0,0,0,0,0,0,0,0,0]};

for (var i = 0; i < graph_data.data.length; i++){
    $("body").append(graph_data.data[i]+"<br/>");
}

http://jsfiddle.net/mtDaH/