1

我想知道如何循环遍历这个 json 数据以使用 jquery 获取其中的值?我所拥有的是undefined。我$.ajax.get()用来获取文件然后我试图遍历它以获取其中的数据。JSON看起来像这样......

get 的结果是一个字符串!

    [
    {
        "category": "anti-social-behaviour", 
        "persistent_id": "", 
        "location_subtype": "STATION", 
        "month": "2012-11", 
        "location": {
            "latitude": "52.6313999", 
            "street": {
                "id": 1447707, 
                "name": "Leicester"
            }, 
            "longitude": "-1.1252999"
        }, 
        "context": "", 
        "id": 18782816, 
        "location_type": "BTP", 
        "outcome_status": {
            "category": "Under investigation", 
            "date": "2012-11"
        }
    }
]

问候/哈里斯!

4

4 回答 4

3

假设您正在通过 ajax 调用并且您返回的 json 在一些 var 数据上,您可以使用 $.each 解析

$.each(data, function(i, obj) {
  //use obj.id and obj.name here, for example:
  alert(obj.name);
});
于 2013-01-04T12:16:16.247 回答
2

您可以像这样简单地遍历项目:

$.each(obj, function(i, val) {
    alert(val.category);
    alert(val.location.latitude);
    alert(val.location.street.id);
});​

在这里演示

于 2013-01-04T12:27:53.943 回答
1

你需要确保你有一个 json 对象而不是一个字符串。后:

for(var i in JSONObject){ // code goes here }

请记住,您还可以使用直接键值调用对象中的元素。

经验。ObjName.keyname

于 2013-01-04T12:16:56.887 回答
0

似乎问题在于它当然不是一个对象,这就是为什么我无法通过 json 交互...所以我使用了: var obj = jQuery.parseJSON();

一切正常!

于 2013-01-04T12:25:11.770 回答