JSON XML 上帝说:“你应该了解真相,真相使你自由”

JSON,全称是JavaScript Object Notiation。它是基于JavaScript编程语言ECMA-262 3rd Edition-December 1999标准的一种轻量级的数据交换格式,主要用于用于跟服务器进行交换数据。跟XML相类似,它独立于语言,在跨平台数据传输上有很大的优势。

    跟XML相比,JSON的优势在于格式简洁短小,生成后的数据大小改变不大,且易于处理。特别是在处理大量复杂数据的时候,这个优势便显得非常突出。从各浏览器的支持来看,XML需要DOM来解析,而不同浏览器厂商的支持的XMLDOM又有所不同,这给WEB开发者或多或少带来不少困难,特别是在AJAX被大家普遍使用来后,不少开发者都不是返回XML,而是返回HTML片断或是其他格式的系列化串,除非产品仅限使用IE时在必要的时候才会使用XML来传输。JSON则没有这方面的问题,它不需要另外的解释器,得到了大多数语言和浏览器的支持,应用非常广泛。这些使得JSON在WEB开发中拥有巨大的优势。Digg,Yahoo等等大型网站便是采用JSON来进行数据传输的。

   JSON是一种文本格式,独立于语言,使用了类似于C系列语言类似的约定。其两种数据结构如下:

  • (名:值)对集合
  • 值的有序表。这通常实现为数组

    例如:XML表示为

<book>

<bookName>JSON</bookName> <bookPublic>WHU.PUBLIC</bookPublic> <bookAuthor>Faitle</bookAuthor>

</book>

用JSON表示为:var book ={
"bookName":JSON
"bookPublic":WHU.PUBLIC,
"bookAuthor":Faitle

    }

    然后便可以用标准的点记法来使用对象的属性:

    var bAuthor = book.bookAuthor;
    book.bookName = "JSON USAGE";

    下面附一个参考表。 

   自行编写 XML   通过代码生成的 XML 绑定  通过映射的 XML 绑定  页面模板 XML   手工编码的 JSON 序列化
 可伸缩性  差  好  一般  一般  差
 易于集成  好  差   一般  一般  好
 Java 类 API   好  差  好  好  好
 对输出的控制   好  好  一般  好  好
 视图灵活性  差  差  差  好  差
 客户端数据访问   差  差  差  一般  好

JavaScript 代码处理服务器响应数据的难易程度

    表中的数据并不表明某项序列化技术比其他的技术好。毕竟,六种标准的相对重要性取决于项目的具体情况。例如,如果要处理数百种数据类型,这时想要的是可伸缩性,那么代码生成可能就是最好的选择。如果需要为同一数据模型生成多个不同视图,那么就应当使用页面模板。如果处理的是小规模项目,想降低需要编写的JavaScript代码数量,那么请考虑 JSON。

posted @ 2009-04-20 18:06  月光小提琴  阅读(395)  评论(0)    收藏  举报