我一直在努力处理几行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);
有人会理解我收到此错误的原因吗?
答案 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);