使用jQuery读取JSON数据

时间:2012-02-08 01:02:29

标签: jquery json

我有一个JSON文件,我必须在页面加载时从该文件中读取数据。我怀疑我的JSON结构有问题。 JSONLint显示它是有效的。所以我必须使用错误的方法来访问它。

它基本上是一个对象数组(或者我认为)。

{"Listings":[
{"Listing1":
    {
        "agency_code":"BP",
        "property_code":"BON1",
        "Property_GUID":"6dded624",
        "FileNo /":"",
        "country":"AUSTRALIA",
        "state":"New South Wales",
        "subregion /":""
            }
        },
   {"Listing1":
    {
        "agency_code":"BPGA",
        "property_code":"BONNSTG4-Lot11",
        "Property_GUID":"6dded624-cde2-429a-81d4-bd6f91256345",
        "FileNo /":"",
        "country":"AUSTRALIA",
        "state":"New South Wales",
        "subregion /":""
            }
        }
    ]
}

我使用$ .ajax来读取JSON。文件加载成功。现在我如何访问单个“列表”以及如何衡量总共有多少个列表? 我尝试使用$ .each循环遍历数组,但我的代码无效。

1 个答案:

答案 0 :(得分:7)

您有一个对象数组,但该数组不是第一层,它存储在顶级Listings属性中。

$.ajax({
    dataType : 'json',
    success  : function (response) {
        for (var i = 0, len = response.Listings.length; i < len; i++) {
            //You can now access individual properties like this:
            var agencyCode = response.Listings[i].Listing1.agency_code;
        }
    }
});

这个for循环的执行速度比jQuery的.each()$.each()http://jsperf.com/jquery-each-vs-for-loops/2

以下是演示:http://jsfiddle.net/btHy5/1/