通过JSON迭代

时间:2013-01-04 12:13:03

标签: jquery json

我想知道如何通过这个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 个答案:

答案 0 :(得分:3)

让我们说你正在通过ajax调用并且json返回了一些var数据,你可以使用$ .each解析

$.each(data, function(i, obj) {
  //use obj.id and obj.name here, for example:
  alert(obj.name);
});

答案 1 :(得分:2)

你可以简单地遍历这样的项目:

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

DEMO HERE

答案 2 :(得分:1)

您需要确保拥有json对象而不是字符串。 后:

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

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

浓淡ObjName.keyname

答案 3 :(得分:0)

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

一切都很完美!