谁能通过例子告诉我Javascript对象和JSON对象的区别?
最佳答案
Javascript object 是 Javascript 中的一种数据类型 - 它仅在 Javascript 中才有意义。通常你会看到像这样的 Javascript 对象文字:
var obj = {
a: 1,
b: 2
};
JSON string 是一种数据交换格式——它只不过是一堆以特定方式格式化的字符(以便不同的程序相互通信)。因此,它可以存在于 Javascript 中,也可以存在于其他语言中,也可以简单地存储在数据库或文本文件中。
上面的 Javascript 对象可以用 Javascript 中的 JSON 格式表示,如下所示:
var json = '{ "a": 1, "b": 2 }';
或者在 C# 中像这样:
string json = "{ \"a\": 1, \"b\": 2 }";
如您所见,JSON 只是存储在字符串中。为了使其有用,可以解析 JSON 字符串以生成任何语言的对象。因为 JSON 格式模仿了 Javascript 的对象文字语法,所以 Javascript 使解析过程变得简单:
var obj = eval('(' + json + ')');
虽然通常你会看到:
var obj = JSON.parse(json); // for security reasons
请注意,JSON 的局限性在于它不能存储函数 - 它可以包含的唯一值是:
https://stackoverflow.com/questions/6489783/