在javascript中迭代JSON

时间:2013-09-05 10:23:12

标签: javascript json

我有一个JSON,如下所示。

[
{"Device":"Device1","Links"["NewLink","NewLink2","NewLink3"],"GeographicLocation":"NewLocation"},
{"Device":"Device2","Links":["NewLink"],"GeographicLocation":"NewLocation"}
{"Device":"Device3","Links":["NewLink","NewLink2"],"GeographicLocation":"NewLocation"}
]

我想迭代它并在循环中我想提醒Links字段的值。

我怎样才能做到这一点。

5 个答案:

答案 0 :(得分:0)

如果您将json作为字符串,则可以使用

var json = JSON.parse(jsonString); 

这将返回一个可以迭代的对象数组。

查看更多here

答案 1 :(得分:0)

var arr = [
   {"Device":"Device1","Links" ["NewLink","NewLink2","NewLink3"],"GeographicLocation":"NewLocation"},
   {"Device":"Device2","Links":["NewLink"],"GeographicLocation":"NewLocation"}
   {"Device":"Device3","Links":["NewLink","NewLink2"],"GeographicLocation":"NewLocation"}
];

    for(var i=0;i<arr.length;i++){
        var obj = arr[i];
        for(var key in obj){
            var attrName = key;
            var attrValue = obj[key];
        }
    }

答案 2 :(得分:0)

var json = [
    {
        "Device": "Device1",
        "Links": [
            "NewLink",
            "NewLink2",
            "NewLink3"
        ],
        "GeographicLocation": "NewLocation"
    },
    {
        "Device": "Device2",
        "Links": [
            "NewLink"
        ],
        "GeographicLocation": "NewLocation"
    },
    {
        "Device": "Device3",
        "Links": [
            "NewLink",
            "NewLink2"
        ],
        "GeographicLocation": "NewLocation"
    }
];

for(var i=0; i<json.length ; i++)
{
    console.log(json[i].Device);
    console.log(json[i].Links);
    // for links use another loop
    for(var j=0; j<json[i].Links.length ; j++)
    {
        console.log(json[i].Links[j]);
    }
    console.log(json[i].GeographicLocation);
}

答案 3 :(得分:0)

说你有你的字符串json

var data = JSON.parse(json);
for(var i=0; i<data.length; i++) {
    var links = data[i]['Links'];
    for(var j=0; j<links.length; j++) {
        //append this wherever
        document.write(links[j]);
        //if you're using jQuery, $('body').append(links[j]);
    }
}

答案 4 :(得分:0)

[
{"Device":"Device1","Links":["NewLink","NewLink2","NewLink3"],"GeographicLocation":"NewLocation"},
{"Device":"Device2","Links":["NewLink"],"GeographicLocation":"NewLocation"},
{"Device":"Device3","Links":["NewLink","NewLink2"],"GeographicLocation":"NewLocation"}
]

var json = JSON.parse(jsonString); 

现在它会起作用

您在JSON字符串中错过了“:”“,”

靠近第一个“链接”:},添加此