读取JSON消息的值

时间:2013-09-22 20:28:25

标签: javascript json

我一直在努力处理几行Javascript代码,这应该是直截了当的。我将我的JSON字符串缩减为以后找到的字符串。以下代码中的第一个警报会生成以下消息:

{“list”:[{“text”:“Text1”,“created_at”:“Date1”},{“text”:“Text2”,“created_at”:“Date2”}}}

但是,第二个警报在IE中生成以下错误: 错误:无法获取属性'0'的值:object为null或undefined

var data = "{\"list\":[{\"text\":\"Text1\", \"created_at\":\"Date1\"},{\"text\":\"Text2\", \"created_at\":\"Date2\"}]}";
alert(data);
alert(data.list[0].created_at);

有人会理解我收到此错误的原因吗?

2 个答案:

答案 0 :(得分:3)

data是一个普通的字符串;它没有任何属性。

您希望将字符串中的JSON解析为Javascript对象:

var obj = JSON.parse(data);

答案 1 :(得分:1)

您正在使用带有Json格式的字符串,但不是JSON本身。

你应该用这个:

var data = {"list":[{"text":"Text1", "created_at":"Date1"},{"text":"Text2", "created_at":"Date2"}]};
alert(data.list[0].created_at);

或使用:

var jsonData = JSON.parse(data);
alert(jsonData.list[0].created_at);