JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。
上面的写法是官腔写法,俗称装B,你不理解也无所谓。
事实上,JSON是使用AJAX技术时常用的一种返回数据的格式,与XML各有千秋,其优点在于其简洁性(也就是所谓的轻量级了),以及JavaScript对其的内嵌支持
下面的代码声明了一个JSON对象:
var
people
=

...
{ "programmers": [

...{ "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newInstance.com" },

...{ "firstName": "Jason", "lastName":"Hunter", "email": "jason@servlets.com" },

...{ "firstName": "Elliotte", "lastName":"Harold", "email": "elharo@macfaq.com" }
],
"authors": [

...{ "firstName": "Isaac", "lastName": "Asimov", "genre": "science fiction" },

...{ "firstName": "Tad", "lastName": "Williams", "genre": "fantasy" },

...{ "firstName": "Frank", "lastName": "Peretti", "genre": "christian fiction" }
],
"musicians": [

...{ "firstName": "Eric", "lastName": "Clapton", "instrument": "guitar" },

...{ "firstName": "Sergei", "lastName": "Rachmaninoff", "instrument": "piano" }
]
}
可使用如下代码进行访问:
people.programmers[0].lastName
下例演示了一个最简单的写法:
var
people
=
...
{ "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newInstance.com" }
;
alert(people.firstName);
上面JSON对象都是作为键值对的形式使用的,实际上,JSON对象也可以作为线性数组初始化的,如下所示:
var
people
=
[
"
John
"
,
"
Tom
"
,
"
Mary
"
];
alert(people[
0
]);
alert(people.toJSONString());
上例中使用了一个toJSONString()方法,实际上这是由json.js提供的,由JSON官方网站提供
json.js提供了如下函数:
array.toJSONString(),
boolean
.toJSONString() ,
date.toJSONString(),
number.toJSONString(),
object.toJSONString(),
string.toJSONString():
可以将这些对象都转为json文本串
还有一个string.parseJSON()函数,可以将文本串解析成JSON对象或array,如下所示
var
str
=
'
["0","1"]
'
;
var
obj
=
str.parseJSON();
document.write(obj[
0
]);
document.write(obj[
1
]);