我正在使用JSON.parse来解析此JSON字符串
[{"created_at":"2012-01-24T22:36:21Z","name":"joe","age":42,"updated_at":"2012-01-24T22:36:21Z"}]
但是我只是将这个结果作为输出:
[object Object]
不应该是结果。我在Cappuccino框架内使用它。有谁知道我在这里做错了什么?
答案 0 :(得分: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
答案 1 :(得分:0)
这是一个数组,因为它在方括号中 - [] - 删除这些,它应该工作... 即使这在语法上是正确的,解析器也会将其视为一个数组(这是一种对象),但不会按照您期望的方式对其进行处理。
也供将来参考: 尝试lint它,看看你的语法是否搞砸了:http://jsonlint.com/