使用jQuery解析JSON

时间:2011-08-15 18:55:36

标签: jquery json parsing

我正在尝试解析这个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的前一个问题,我也有一般性问题。

Parse JSON in jquery

我可以让这个例子解析,但是如果我删除了开头和结尾的方括号,它就不会解析。有人可以澄清原因。看来json不需要开头和结尾的方括号。

提前致谢。

2 个答案:

答案 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对象(键/对值)。