我从AJAX调用返回了一些JSON数据。然后我需要在javascript中解析这些数据。
数据如下:
RESTful
为什么我在数据上运行此代码时会得到多个未定义的数据? (var json是保存我的json数据的变量)
[
{
"id": "23",
"date_created": "2016-05-12 14:52:42"
},
{
"id": "25",
"date_created": "2016-05-12 14:52:42"
}
]
但是,如果我将json直接分配给变量,如下所示:
for(var i = 0; i < json.length; i++) {
var obj = json[i];
console.log(obj.id);
}
然后它工作正常!
任何想法的家伙?感谢
答案 0 :(得分:1)
确保您获得的JSON
不仅仅是字符串JSON
。在那种情况下,执行JSON.parse(json_string)
然后循环和更多处理。
示例:强>
var string_json = '[{"a":1},{"b":2}]'; // may be your API response is like this
var real_json = JSON.parse(string_json); // real_json contains actual objects
console.log(real_json[0].a, real_json[1].b); // logs 1 2
答案 1 :(得分:0)
您使用的不是JSON
。
JSON
后,使用方法JSON.parse
解析该JSON。例如:
var json ='[{"id": "23","date_created": "2016-05-12 14:52:42"},{"id": "25","date_created": "2016-05-12 14:52:42"}]';
var parsedJson = JSON.parse(json);
for(var i = 0; i < parsedJson.length; i++) {
var obj = parsedJson[i];
console.log(obj.id);
}