• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            逛奔的蝸牛

            我不聰明,但我會很努力

               ::  :: 新隨筆 ::  ::  :: 管理 ::

            JSON技術介紹

            XML——這種用于表示客戶端與服務器間數據交換有效負載的格式,幾乎已經成了Web services的同義詞。我們知道AJAX技術能夠使得每一次請求更加迅捷,對于每一次請求返回的不是整個頁面,也僅僅是所需要返回的數據。然而,由于Ajax和REST技術的出現影響了應用程序架構,這迫使人們開始尋求`XML的替代品,如:JavaScript Object Notation(JSON)。

            JSON 作為一種更輕、更友好的 Web services客戶端的格式(多采用瀏覽器的形式或訪問 REST風格 Web服務的Ajax應用程序的形式)引起了 Web 服務供應商的注意。通常AJAX通過返回XML格式的數據,然后再通過客戶端復雜的JavaScript腳本解析和渲染這些XML格式的數據。JSON(讀Jason)是為了能夠使得數據格式成為一種標準,更簡單的被JavaScript解析。

            本文將闡述JSON在Web services設計中備受推崇的原因,以及它作為XML替代方案的主要優勢和局限性。文中還會深入探討:隨著相應的Web 服務客戶端選擇使用JSON,如何才能便捷地在Java Web services中生成JSON輸出。
            json的官方文檔:http://www.json.org/json-zh.html

            JSON的優點

            • 輕量級的數據交換格式
            • 人們讀寫更加容易
            • 易于機器的解析和生成
            • 能夠通過JavaScript中eval()函數解析JSON
            • JSON支持多語言。包括:ActionScript, C, C#, ColdFusion, E, Java, JavaScript, ML, Objective CAML, Perl, PHP, Python, Rebol, Ruby, and Lua.

            JSON語法是一種用于傳輸和生成數據的協定,很類似于C家族的語言,所以很容易被C家族的語言所解析。
            對象:對象包含再{}之間
            屬性:采用Key-Value對來表示。屬性之間使用逗號分開。  string : value 
            數組:數組存放再[]之間   [ elements ] 
            元素:元素之間用逗號分開
            值:值可以是字符串,數字,對象,數組,true,false,null

            例子:
            JSON
            {"menu": {  
               "id": "file",
               "value": "File:",  
               "popup": {  
                 "menuitem": [ 
                   {"value": "New", "onclick": "CreateNewDoc()"}, 
                   {"value": "Open", "onclick": "OpenDoc()"},  
                   {"value": "Close", "onclick": "CloseDoc()"} ] 
               } 
            }}
            XML
            <menu id="file" value="File" > 
               <popup> 
                 <menuitem value="New" onclick="CreateNewDoc()" /> 
                 <menuitem value="Open" onclick="OpenDoc()" /> 
                 <menuitem value="Close" onclick="CloseDoc()" /> 
               </popup> 
            </menu>
            XML 的作用是格式化數據內容。如果我們不用XML還有什么更好的方法嗎?這個答案是JSON。介紹JSON之前我先介紹一下JavaScript這門腳本語 言。腳本語言自身有動態執行的天賦。即我們可以把想要執行的語句放在字符串里,通過eval()這個動態執行函數來執行。字符串里的內容會像我們寫的腳本 一樣被執行。
            <HTML>
            <HEAD>
             <TITLE>eval example 1</TITLE>
            </HEAD>
            <BODY>
             <script>
              str = "alert('hello')";
              eval(str);
             </script>
            </BODY>
            </HTML>  
            打開頁面會彈出hello窗口。我們可以在字符串中放任何腳本語句,包括聲明語句,等等一系列東西,比如:
            <HTML>
            <HEAD>
            <TITLE>eval example 2</TITLE>
            </HEAD>
            <BODY>
            <script>
             define = "{name:'Michael',email:'17bity@gmail.com'}";
             eval("data = "+define);
             alert("name:"+data.name);
             alert("email:"+data.email);
            </script>
            </BODY>
            </HTML>
            如果我們在后臺異步傳來的文本是JavaScript的聲明語句,那么不是一條eval方法就能解析了?對于解析復雜的XML,這樣的效率是多么大的提高啊!現在就來告訴你什么是JSON:JavaScript Object Notation。我更愿意把它翻譯為JavaScript對象聲明。比如要從后臺載入一些通訊錄的信息,如果寫成XML,如下:
            <contact>
             <friend>
              <name>Michael</name>
              <email>17bity@gmail.com</email>
              <homepage>http://www.jialing.net</homepage>
             </friend>
             <friend>
              <name>John</name>
              <email>john@gmail.com</email>
              <homepage>http://www.john.com</homepage>
             </friend>
             <friend>
              <name>Peggy</name>
              <email>peggy@gmail.com</email>
              <homepage>http://www.peggy.com</homepage>
             </friend>
            </contact>
            而寫成JSON呢,就如下面:
            [
            {
             name:"Michael",
             email:"17bity@gmail.com",
             homepage:"http://www.jialing.net"
            },
            {
             name:"John",
             email:"john@gmail.com",
             homepage:"http://www.jobn.com"
            },
            {
             name:"Peggy",
             email:"peggy@gmail.com",
             homepage:"http://www.peggy.com"
            }
            ]
            簡單的不只是表達上,最重要的是可以丟棄讓人暈頭轉向的DOM解析了。因為只要符合JavaScript的聲明規范,JavaScrip會自動幫你解析好 的。Ajax中使用JSON的基本方法是前臺載入后臺聲明JavaScript對象的字符串,用eval方法來將它轉為實際的對象,最后通過 DHTML更新頁面信息。
            posted on 2010-06-05 02:47 逛奔的蝸牛 閱讀(463) 評論(0)  編輯 收藏 引用 所屬分類: 其他編程
            久久久精品国产sm调教网站 | 狠狠色丁香婷婷综合久久来来去| 99久久精品国产一区二区| 伊人久久大香线蕉无码麻豆| 国产精品久久久久a影院| 日本强好片久久久久久AAA| 久久99精品国产99久久| 色诱久久av| 91精品国产综合久久婷婷| 久久无码国产| 久久国产乱子伦精品免费强| 无码人妻久久一区二区三区蜜桃| 久久人人爽人人爽人人AV东京热| 99久久免费只有精品国产| 色欲综合久久躁天天躁蜜桃| 精品久久人人妻人人做精品 | 亚洲嫩草影院久久精品| 久久综合九色综合欧美就去吻| 人妻丰满AV无码久久不卡| 久久精品国产精品亚洲人人| 综合久久精品色| 国产999精品久久久久久| 久久综合给合久久狠狠狠97色 | 国产精品无码久久四虎| 婷婷伊人久久大香线蕉AV | 久久久国产精华液| 亚洲国产精品人久久| 久久久亚洲欧洲日产国码二区 | 日本福利片国产午夜久久| 国产精品乱码久久久久久软件| 热久久国产精品| 免费观看成人久久网免费观看| 精品无码久久久久国产| 亚洲va久久久噜噜噜久久狠狠 | 欧美亚洲另类久久综合| 国产成人精品久久免费动漫 | 久久精品国产一区二区| 精品无码久久久久久久久久| 国产高潮国产高潮久久久91| 国产亚洲美女精品久久久| 久久国产视屏|