1

我正在使用 JSON.parse 来解析这个 JSON 字符串

[{"created_at":"2012-01-24T22:36:21Z","name":"joe","age":42,"updated_at":"2012-01-24T22:36:21Z"}]

但是,我只是将此结果作为输出:

[object Object]

这不应该是结果。我在卡布奇诺框架中使用它。有谁知道我在这里做错了什么?

4

2 回答 2

1

[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

演示

于 2012-01-24T22:52:52.563 回答
0

这是一个数组,因为它在方括号中 - [] - 删除这些,它应该可以工作......即使这是“语法”正确的解析器将其视为一个数组(这是一种对象)但不会做以您期望的方式进行工作。

也供将来参考:尝试对其进行 lint,看看您的语法是否混乱:http: //jsonlint.com/

于 2012-01-24T22:53:07.603 回答