Javascript JSON.parse或直接访问

Javascript JSON.parse或直接访问,javascript,Javascript,当我们可以直接从字符串读取属性时: var data = {"id":1,"name":"abc","address":{"streetName":"cde","streetId":2}}; console.log(data.address.streetName); // cde 为什么人们使用JSON.parse: 在第一个示例中,数据是一个对象,但在第二个示例中,数据是一个JSON字符串 这是一个很大的区别。您可以调用evaldata来解析JSON字符串,但这是非常不安全的。在第一个示例中

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

var data = {"id":1,"name":"abc","address":{"streetName":"cde","streetId":2}};
console.log(data.address.streetName); // cde
为什么人们使用JSON.parse:


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


这是一个很大的区别。您可以调用evaldata来解析JSON字符串,但这是非常不安全的。

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


这是一个很大的区别。您可以调用evaldata来解析JSON字符串,但这是非常不安全的。

它不是字符串,而是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

它不是字符串,而是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
JSON.parse需要一个字符串。更具体地说,是包含JSON编码数据段的字符串

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

JSON.parse需要一个字符串。更具体地说,是包含JSON编码数据段的字符串


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

此外,传递给JSON.parse的字符串中的键需要正确引用;否则,JSON.parse抛出异常。另外,传递给JSON.parse的字符串中的键需要正确引用;否则,JSON.parse将引发异常