**早的时候,JSON 是 JavaScript 语言的数据交换格式,后来慢慢发展成一种语言无关的数据交换格式,这一点非常类似于 XML。
JSON 主要在类似于C 的编程语言中广泛使用,这些语言包括 C、C++、C#、Java、JavaScript、Perl、Python 等。JSON 提供了多种语言之间完成数据交换的能力,因此,JSON 也是一种非常理想的数据交换格式。
JSON 主要有如下两种数据结构:
- 由 key-value 对组成的数据结构。这种数据结构在不同的语言中有不同的实现。例如,在 JavaScript 中是一个对象;在 Python 中是一种 dict 对象;在 C 语言中是一个 struct;在其他语言中,则可能是 record、dictionary、hash table 等。
- 有序集合。这种数据结构在 Python 中对应于列表;在其他语言中,可能对应于 list、vector、数组和序列等。
上面两种数据结构在不同的语言中都有对应的实现,因此这种简便的数据表示方式完全可以实现跨语言。所以,JSON 可以作为程序设计语言中通用的数据交换格式。
在 JavaScript 中主要有两种 JSON 语法,其中一种用于创建对象,另一种用于创建数组。 使用JSON 语法创建对象 使用JSON 语法创建对象是一种更简单的方式。使用 JSON 语法可避免书写函数,也可避免使用 new关键字,而是可以直接获取一个 JavaScript 对象。对于早期的 JavaScript 版本,如果要使用 JavaScript 创建一个对象,通常可能会这样写:
//定义一个函数,可以作为该类的构造器
function Person(name, gender)
{
this.name = name;
this.gender = gender;
}
//创建一个Person 实例
var p = new Person('yeeku', 'male');
//输出Person 实例的name属性
alert (p.name); 从 JavaScript 1.2 开始,创建对象有了一种更快捷的语法,如下所示:
var p = {"name":'yeeku',"gender":'male'};
alert(p); 这种语法就是一种 JSON 语法。显然,使用 JSON 语法创建对象更加简捷、方便。如图 1 所示是使用 JSON 创建对象的语法示意图:
图 1 使用 JSON 创建对象的语法示意图



