谁能举例说明Javascript对象和JSON对象之间的区别?
Javascript 对象 是Javascript 中的数据类型-仅在Javascript中才有意义。通常,您会看到这样的Javascript 对象文字 :
var obj = { a: 1, b: 2 };
JSON 字符串 是一种数据交换格式,它只不过是一串以特定方式格式化的字符(为了使不同的程序相互通信)。因此,它可以存在于Javascript或其他语言中,也可以简单地存储在数据库或文本文件中。
上面的Javascript对象可以用JSON格式的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受限制是因为它不能存储函数-它可以包含的唯一值是: