JSON对象

JSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write.

JSON只是一个数据交换语言,只有我们将之用在string上下文的时候它才叫JSON。

什么是JSON

我们通常误以为JavaScript里面的对象字面值是JSON。它只不过是“形似”而已。实际上只有当这样的字面值是字符串的时候,才是JSON对象。比如:

  1. // 这是JSON字符串
  2. var foo = '{ "prop": "val" }';
  3. // 这是对象字面量
  4. var bar = { "prop": "val" };

而且要注意,JSON有非常严格的语法,在string上下文里{ "prop": "val" } 是个合法的JSON,但{ prop: "val" }{ 'prop': 'val' }确实不合法的。所有属性名称和它的值都必须用双引号引住,不能使用单引号。另外,即便你用了转义以后的单引号也是不合法的。

序列化与反序列化

2个程序(或服务器、语言等)需要交互通信的时候,他们倾向于使用string字符串因为string在很多语言里解析的方式都差不多。所以在JavaScript里面,也提供了一个JSON对象,目前有2个静态方法:

原文: https://leohxj.gitbooks.io/front-end-database/content/javascript-basic/json.html