查询JavaScript Object与JSOn Object的区别

Query regarding Difference between JavaScript Object And JSOn Object

本文关键字:Object 区别 JSOn JavaScript 查询      更新时间:2023-09-26

我的问题是:在Java脚本中:我们有一个对象:

var someObject={"name":"somename"};

现在我们想要获得名称,我们将执行

alert(someObject.name); //it will print somename Right?

从发送JSON对象的源获得相同的对象

someJSONObject={"name":"someName"};

现在在我的javascript代码中,不解析这个someJSONObject,我可以得到名称为

alert(someJSONObject.name);

如果是这样,为什么我们需要通过解析将JSON对象转换为javaScript对象,当我们可以使用它作为对象而不解析或使用eval()时?

谢谢!

因为它不是一个JSON对象。带引号键的语法{"name":"someName"}不能使其成为JSON, Javascript对象字面量也支持相同的语法。

JSON可以嵌入到Javascript字符串中。如:

var json = '{"key": "value"}';

然后你可以把它解析成Javascript数据类型:

var obj = JSON.parse( json );

注意eval可能会导致语法错误,因为JSON和Javascript的语法不是最终兼容的。如果evaled .

JSON是一个string,所以它类似于var jsonObject = '{"name":"someName"}';object是一个对象。