我正在使用 JSON.parse 来解析这个 JSON 字符串
[{"created_at":"2012-01-24T22:36:21Z","name":"joe","age":42,"updated_at":"2012-01-24T22:36:21Z"}]
但是,我只是将此结果作为输出:
[object Object]
这不应该是结果。我在卡布奇诺框架中使用它。有谁知道我在这里做错了什么?
我正在使用 JSON.parse 来解析这个 JSON 字符串
[{"created_at":"2012-01-24T22:36:21Z","name":"joe","age":42,"updated_at":"2012-01-24T22:36:21Z"}]
但是,我只是将此结果作为输出:
[object Object]
这不应该是结果。我在卡布奇诺框架中使用它。有谁知道我在这里做错了什么?
[object Object]
是您调用对象时显示的内容toString
。看起来你正在接受你的结果并试图打电话obj.toString()
此外,您的 JSON 是一个包含一个元素的数组,因此要验证您的结果是否正确,您可以访问 [0] 索引上的 name 属性:
obj[0].name // should be "joe".
var text = '[{"created_at":"2012-01-24T22:36:21Z","name":"joe","age":42,"updated_at":"2012-01-24T22:36:21Z"}]';
var obj = JSON.parse(text);
alert(obj[0].name); //alerts joe
或者摆脱阵列,因为它并没有真正做太多
var text = '{"created_at":"2012-01-24T22:36:21Z","name":"joe","age":42,"updated_at":"2012-01-24T22:36:21Z"}';
var obj = JSON.parse(text);
alert(obj.name); //still joe
这是一个数组,因为它在方括号中 - [] - 删除这些,它应该可以工作......即使这是“语法”正确的解析器将其视为一个数组(这是一种对象)但不会做以您期望的方式进行工作。
也供将来参考:尝试对其进行 lint,看看您的语法是否混乱:http: //jsonlint.com/