Javascript JSON.parse或直接访问

时间:2012-02-27 10:38:38

标签: javascript

当我们可以直接从字符串中读取属性时:

var data = {"id":1,"name":"abc","address":{"streetName":"cde","streetId":2}};
console.log(data.address.streetName); // cde

为什么人们使用JSON.parse

var obj = JSON.parse(data);
console.log(obj.address.streetName); // cde

3 个答案:

答案 0 :(得分:5)

它不是字符串,而是Javascript对象。字符串在下面给出

var data = '{"id":1,"name":"abc","address":{"streetName":"cde","streetId":2}}';

使它成为对象我们使用JSON.parse

var obj = JSON.parse(data);
console.log(obj.address.streetName); // cde

答案 1 :(得分:3)

在第一个示例中,数据是一个对象,但在第二个示例中,数据是JSON 字符串

这是一个主要的区别。您可以调用eval(数据)来解析JSON字符串,但这非常不安全。

答案 2 :(得分:3)

JSON.parse()需要一个字符串。更具体地说,是一个带有JSON编码数据的字符串。

如果它被应用于某个对象,那么它就是一个错误,其来源可能是JavaScript对象和JSON格式之间似乎存在的常见混淆。