在ajax响应中循环一个json对象


loop through a json object in ajax response

我是json的新手,所以我从ajax调用中得到json响应

现在我一直在循环json对象

这是我的json

 {
    "0": {
        "image": "http://test.com/systems.jpg",
        "anchor_tag_link": "http://test.com/1",
        "title": "Oct-Dec-2013"
    },
    "1": {
        "image": "http://test.com/energy.jpg",
        "anchor_tag_link": "http://test.com/1",
        "title": "July-Sept-2013"
    },
    "pages": 2
}

有人能帮助吗

您可以在循环中使用for,如下所示:

var obj = {
  "0": {
    "image": "http://test.com/systems.jpg",
    "anchor_tag_link": "http://test.com/1",
    "title": "Oct-Dec-2013"
},
"1": {
    "image": "http://test.com/energy.jpg",
    "anchor_tag_link": "http://test.com/1",
    "title": "July-Sept-2013"
},
"pages": 2
}
for(var prop in obj) {
    var item = obj[prop];
    console.log(item);
}

请注意,您将在日志中获得项目,因为除了数字属性外,还将获得pages属性。

将JSON响应保存在变量中

var variable = {
    "0" : {
        "image" : "http://test.com/systems.jpg",
        "anchor_tag_link" : "http://test.com/1",
        "title" : "Oct-Dec-2013"
    },
    "1" : {
        "image" : "http://test.com/energy.jpg",
        "anchor_tag_link" : "http://test.com/1",
        "title" : "July-Sept-2013"
    },
    "pages" : 2
};

然后使用jquery 循环

$.each(variable, function(index, value) {
    alert(value.image);
    alert(value.anchor_tag_link);
});

您可以做到这一点。

var json = JSON.parse(data);// here data is your response
    for (var key in json) {
    alert(json[key].image);// other also in the same way.
    }

示例1:

 success: function(responseData) {
        for (var key in responseData) {
            alert(responseData[key]);
        }
    }

示例2:

<script>
    var data = '{"name": "mkyong","age": 30,"address": {"streetAddress": "88 8nd Street","city": "New York"},"phoneNumber": [{"type": "home","number": "111 111-1111"},{"type": "fax","number": "222 222-2222"}]}';
    var json = JSON.parse(data);
    alert(json["name"]); //mkyong
    alert(json.name); //mkyong
    alert(json.address.streetAddress); //88 8nd Street
    alert(json["address"].city); //New York
    alert(json.phoneNumber[0].number); //111 111-1111
    alert(json.phoneNumber[1].type); //fax
    alert(json.phoneNumber.number); //undefined
</script>

示例代码

请尝试以下代码。您只需要用JSON数组替换"yourJSONObject"。

    $.each( yourJSONObject, function( keyImg, valImg ) {
            image = valImg[0];
            anchor_tag_link = valImg[1];
            title = valImg[2];
    });

问候,

您可以像循环javascript对象一样循环通过:

   for(var arg in object) {
     object.hasOwnProperty(arg) {
       process(object[arg]); 
     }
   }
JQuery:
var JSON = {
"0": {
    "image": "http://test.com/systems.jpg",
    "anchor_tag_link": "http://test.com/1",
    "title": "Oct-Dec-2013"
},
"1": {
    "image": "http://test.com/energy.jpg",
    "anchor_tag_link": "http://test.com/1",
    "title": "July-Sept-2013"
},
"pages": 2
};
if(JSON.pages >0)
{
   for(var i=0; i<JSON.pages; i++)
   {
    $('table').append('<tr><td>'+JSON[i].title+'</td><td>'+JSON[i].image+'</td><td>'+JSON[i].anchor_tag_link+'</td></tr>');
   }
}
HTML:
<table border="1"></table>