風人園

          弱水三千,只取一瓢,便能解渴;佛法無邊,奉行一法,便能得益。
          隨筆 - 99, 文章 - 181, 評論 - 56, 引用 - 0
          數據加載中……

          JSON:數據傳遞的另一種模式(ZT)

          JSON(Javascript Object Notation) 是一種輕量級的數據交換格式。易于人閱讀和編寫。同時也易于機器解析和生成。它基于Javascript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一個子集。JSON采用完全獨立于語言的文本格式,但是也使用了類似于C語言家族的習慣(包括C, C++, C#, Java, Javascript, Perl, Python等)。這些特性使JSON成為理想的數據交換語言。

          JSON概念很簡單,就是服務器直接生成Javascript語句,客戶端獲取后直接用eval方法來獲得這個對象,這樣就可以省去解析XML的性損失。

          例如:

          使用XML表示:

          代碼: [ 復制到剪貼板 ]
          <items>
          ?<item>
          ? <id>1</id>
          ? <author>Jackson</author>
          ? <url>http://www.richweb.cn</url>
          ? <content>Welcome to RichWeb.cn</content>
          ?</item>
          ?<item>
          ? <id>2</id>
          ? <author>Relkn</author>
          ? <url>http://www.richweb.cn</url>
          ? <content>RichWeb.cn關注互聯網新技術</content>
          ?</item>
          ?<item>
          ? <id>3</id>
          ? <author>Kvogend</author>
          ? <url>http://www.richweb.cn</url>
          ? <content>RichWeb.cn關注WEB2.0</content>
          ?</item>
          </items>

          使用JSON:

          代碼: [ 復制到剪貼板 ]
          {items:[
          ?{
          ? id:1,
          ? author:\"Jackson\",
          ? url:\"http://www.richweb.cn\",
          ? content:\"Welcome to RichWeb.cn\"
          ?},
          ?{
          ? id:2,
          ? author:\"Relkn\",
          ? url:\"http://www.richweb.cn\",
          ? content:\"RichWeb.cn關注互聯網新技術\"
          ?},
          ?{
          ? id:3,
          ? author:\"Kvogend\",
          ? url:\"http://www.richweb.cn\",
          ? content:\"RichWeb.cn關注WEB2.0\"
          ?}
          ]};

          JSON不僅減少了解析XML解析帶來的性能問題和兼容性問題,而且對于Javascript來說非常容易使用,可以方便的通過遍歷數組以及訪問對象屬性來獲取數據,其可讀性也不錯,基本具備了結構化數據的性質。不得不說是一個很好的辦法,而且事實上google maps就沒有采用XML傳遞數據,而是采用了JSON方案。

          JSON的另外一個優勢是"跨域性",例如你在www.richweb.cn的網頁里使用

          <script type="text/javascript" src="" target="_blank">http://www.yyy.com/some.js">

          是完全可行的,這就意味著你可以跨域傳遞信息。而使用XMLHttpRequest卻獲取不了跨域的信息,這是Javascript內部的安全性質所限制的。

          JSON能完全取代XML嗎?當然不能,原因就在于XML的優勢:通用性。要使服務器端產生語法合格的Javascript代碼并不是很容易做到的,這主要發生在比較龐大的系統,服務器端和客戶端有不同的開發人員。它們必須協商對象的格式,這很容易造成錯誤。

          引自:http://www.richweb.cn/showthread.php?t=5

          posted on 2006-07-24 15:24 風人園 閱讀(285) 評論(0)  編輯  收藏 所屬分類: Web

          主站蜘蛛池模板: 临江市| 新竹市| 通江县| 五峰| 金堂县| 邻水| 鹿泉市| 黄山市| 宕昌县| 北宁市| 三都| 迁安市| 巴彦县| 沈阳市| 凤阳县| 榆社县| 平泉县| 耒阳市| 奉新县| 清徐县| 马龙县| 延川县| 博兴县| 大丰市| 中超| 永仁县| 邵阳市| 禄劝| 张家港市| 栾城县| 安溪县| 石林| 泰来县| 汝阳县| 阿城市| 金门县| 鄢陵县| 定西市| 恭城| 克山县| 鄂托克前旗|