Jquery解析json并获得特定值

时间:2013-04-11 08:03:44

标签: jquery json

这是我的回复

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

如何获取ID和名称?

谢谢

4 个答案:

答案 0 :(得分:2)

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

[{"id":1,"name":"JOHN"}, {"id":2,"name":"MICHEAL"}]

答案 1 :(得分: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);

答案 2 :(得分: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);
}

答案 3 :(得分: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);
}

Demo Fiddle