这是我的回应
["{\"id\":1,\"name\":\"JOHN\"}","{\"id\":2,\"name\":\"MICHEAL\"}"]
var json = JSON.parse(demp);
console.log(json[0].id); says undefined.
如何获取 id 和 name ?
谢谢
周围不应该有引号{}
,否则它不是可解析对象的列表,而只是字符串列表。这就是你的 json 应该是这样的:
[{"id":1,"name":"JOHN"}, {"id":2,"name":"MICHEAL"}]
遍历数组,然后将数组值转换为 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);
}
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);
我的建议是使用循环在数组中进行迭代,正如您在问题中所建议的那样。
对我来说,您的响应是一个数组,因此您应该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);
}