我正在尝试解析这个test.json(它确实有效,所以这似乎不是问题,它与包含下面的javascript的文件在同一个文件夹中)
{
"mainunit": {
"sensors": [
{
"id": "C9",
"name": "Sensor 2",
"tc": 71.3,
"pair": null
},
{
"id": "4A",
"name": "Sensor 1",
"tc": 106.7,
"pair": null
}
],
"fans": null
}}
我正在尝试使用它。 。 。
$.getJSON('test.json',function(data) {
$.each(data, function(i, learning) {
alert(learning.mainunit.sensors[0].tc);
});});
此代码来自之前的SO问题,请参阅下面的链接。
关于使用jQuery解析json的前一个问题,我也有一般性问题。
我可以让这个例子解析,但是如果我删除了开头和结尾的方括号,它就不会解析。有人可以澄清原因。看来json不需要开头和结尾的方括号。
提前致谢。
答案 0 :(得分:3)
JSON数据(它是一个对象)只包含一个元素:mainunit
。
您不需要$.each
。只是做:
data.mainunit.sensors[0].tc; // 71.3
您的$.each
只会循环一次,并且该循环learning
将为data.mainunit
。
$.each(data, function(i, learning) {
alert(i); // 'mainunit'
alert(data.sensors[0].tc); // 71.3
});
编辑:循环遍历每个传感器:
$.each(data.mainunit.sensors, function(i, sensor) {
alert(sensor.tc);
});
答案 1 :(得分:0)
JSON对象需要起始和结束括号,文件中的内容是JSON对象(键/对值)。