0

这是我的回应

["{\"id\":1,\"name\":\"JOHN\"}","{\"id\":2,\"name\":\"MICHEAL\"}"]
var json = JSON.parse(demp);
console.log(json[0].id); says undefined.

如何获取 id 和 name ?

谢谢

4

4 回答 4

2

周围不应该有引号{},否则它不是可解析对象的列表,而只是字符串列表。这就是你的 json 应该是这样的:

[{"id":1,"name":"JOHN"}, {"id":2,"name":"MICHEAL"}]
于 2013-04-11T08:06:47.060 回答
0

遍历数组,然后将数组值转换为 JSON。

var obj = ["{\"id\":1,\"name\":\"JOHN\"}","{\"id\":2,\"name\":\"MICHEAL\"}"];

for(var i = 0, len = obj.length; i<len;i++) {
   var json = JSON.parse(obj[i]);
   console.log(json.id);
}
于 2013-04-11T08:17:45.903 回答
0
var res                  =   [{"id":1,"name":"JOHN"}, {"id":2,"name":"MICHEAL"}];
var response             =   JSON.stringify(res);
response                 =   JSON.parse(response);
console.log(response[0].id);
console.log(response[0].name);
于 2013-04-11T08:06:47.730 回答
0

我的建议是使用循环在数组中进行迭代,正如您在问题中所建议的那样。

对我来说,您的响应是一个数组,因此您应该JSON.parse()只使用数组var demp

var DEMP = ["{\"id\":1,\"name\":\"JOHN\"}", "{\"id\":2,\"name\":\"MICHEAL\"}"];
for (var i = 0, syze = DEMP.length; i < syze; i++) {
   var json = JSON.parse(DEMP[i]);
   console.log('Response ID is --> '+json.id + 
               ' Response name is --> ' + json.name);
}

演示小提琴

于 2013-04-11T08:30:28.737 回答