使用Javascript / JQuery迭代JSON响应

时间:2015-06-01 08:26:21

标签: javascript jquery arrays json object

我有以下JSON响应,我试图用Javascript迭代: -

{
    "DocumentResponseResults": [
        {
            "Name": "Example1",
            "Id": "1"
        },
        {
            "Name": "Example2",
            "Id": "2"
        },
        {
            "Name": "Example3",
            "Id": "3"
        }
    ]
}

我已经过测试,使用在线验证器确保其有效的JSON。

我是通过asp.net中 WebMethod 的回复收到此消息。

在回复中它看起来像这样: -

d:"{"DocumentResponseResults":[{"Name":"Example1","Id":"1"},{"Name":"Example2","Id":"2"},{"Name":"Example3","Id":"3"}]}"

我正在尝试迭代JSON字符串中的项目。

我开始解析它是这样的: -

var jsonData = JSON.parse(response.d);

我试图通过访问Items集合来迭代对象数组,但是javascript通知我items属性是未定义的。

任何人都可以建议我如何迭代该集合,并提取诸如“名称”和& “ID”

5 个答案:

答案 0 :(得分:3)

jsonData.DocumentResponseResults.forEach(function(Result) {
  console.log(Result.Name)
});

答案 1 :(得分:2)

var items = response.DocumentResponseResults //gets you array
for (var i = 0; i < items .length; i++) { 
    var name = items[i].Name;
    var id = items[i].Id;
    console.log("Name:"+name + " Id:"+id+"\n");
}

答案 2 :(得分:1)

$.each( jsonData.DocumentResponseResults , function( k, v )
{
    //here you can access v.Name, v.Id etc.                

});

答案 3 :(得分:1)

你可以这样访问数组:

DocumentResponseResults[i].Name

DocumentResponseResults[i].Id

其中'i'是一个数字。

如果要浏览数组,可以使用jQuery.each()

http://api.jquery.com/jquery.each/

或只是for()循环。

答案 4 :(得分:0)

jsonData.DocumentResponseResults是项目属性。