2

我想这真的很基本,我错过了一些明显的东西。

我想访问一个名为 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] 返回任何东西。

我在这里想念什么?

4

2 回答 2

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)的旧版浏览器,您需要一个解析器

于 2012-05-22T18:23:05.457 回答
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/

于 2012-05-22T18:25:49.897 回答