如何通过getJSON读取更深层次的json

时间:2012-07-02 13:49:18

标签: jquery json getjson

我对Jquery getJSON函数有点问题。

我的json在这里

{ "entries": [
    {
        "type": "status",
        "SID": "X999_Y999",
        "from": {
            "name": "Tom Brady",
            "id": "X12"
        },
        "message": "Json message no 1! ",
        "actions": {
            "UP_link": "123456",
            "Comment_link": "7891011"
        },
        "created_time": "2010-08-02T21:27:44+0000",
        "Comments": [
            {
                "CID": "1234",
                "name": "Tom Brady",
                "UID": "1234",
                "Text": "My comment",
                "when_comment": "2010-08-02T21:27:44+0000"
            },
            {
                "CID": "1234",
                "name": "Tom Brady",
                "UID": "1234",
                "Text": "My comment",
                "when_comment": "2010-08-02T21:27:44+0000"
            }
        ]
    }
] }

我用这个来阅读

$.getJSON('json4test.json',
    function(data) {            
        $.each(data.entries, function(entryIndex, entry) {
        var html = '<li class="top-level">name=' + this.from.name +', comment = '+this.Comments.Text+ '</li>';
        $("#results").append(html);
        });
    });

我实际上可以读取this.from.name的数组,但为什么读取this.Comments.Text的结果是“未定义的”。

如何正确阅读本文?

1 个答案:

答案 0 :(得分:3)

this.Comments.Text是一个数组,所以你也需要遍历它。

$.each(this.Comments, [...]);

在循环内部,您可以访问每条评论的Text属性。请参阅the example on jsbin(检查控制台的输出)。