在之前的文章中我们讲到了早期的集中数据格式,XML,SOAP,HTML。现在,我们来看看JSON和JSONP。
JSON
JSON(JavaScript Object Notation)是Douglas Crockford提出的。他是一个轻量级的数据交换格式,基于JavaScript对象字面量。
我们可以将之前的XML图书格式的文件内容转换成下面的JSON格式:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
[
{
title: "The Principles of Beautiful Web Design, 2nd Edition",
url: "http://www.sitepoint.com/books/design2/",
author: "Jason Beaird",
publisher: "SitePoint",
price: {
currency: "USD",
amount: 39.95
}
},
{
title: "jQuery: Novice to Ninja",
url: "http://www.sitepoint.com/books/jquery1/",
author: "JEarle Castledine & Craig Sha***e",
publisher: "SitePoint",
price: {
currency: "USD",
amount: 29.95
}
},
{
title: "Build Your Own Database Driven Website",
url: "http://www.sitepoint.com/books/phpmysql4/",
author: "Kevin Yank",
publisher: "SitePoint",
price: {
currency: "USD",
amount: 39.95
}
}
]
|
这是一个通过对象来表示书的一种方式,并且有title、url、author、publisher、和price等信息。price是一个子对象,并且他包含货币类型和价格。
在JavaScript中很容易处理JSON。你可以使用浏览器原生的JSON.parse方法或者Douglas Crockford的JSON-js库。就算这些都不能用,你也可以使用javaScript的eval方法。不需要再写额外的处理数据的方法:
1
2
3
4
|
var json = xhr.responseText;
var book = JSON.parse(json);
alert(book[0].title); //first book title
alert(book[1].url); //second book URL
|
|