憨厚生

          ----Java's Slave----
          ***Java's Host***

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            165 隨筆 :: 17 文章 :: 90 評論 :: 0 Trackbacks
          json入門(1)
               json是JavaScript Object Notation的簡稱;在web系統開發中與AJAX相結合用的比較多。
           在ajax中數據傳輸有2中方式:文本類型,常用responseText屬性類獲取;XML類型,常用responseXML屬性來獲取
           返回文本類型,處理起來比較簡單,處理XML在前臺處理比較麻煩;但是在系統開發中返回簡單的文本類型常不能滿足
           需求,返回XML在前臺處理起來又比較復雜;
               在此情況下,用json處理起來就比較方便;關于json和XML的優缺點比較,網上說的比較多,在此我就談寫自己在使用
           過程中的感受:XML權威不可否認,但是在前臺頁面處理復雜,不能版本的瀏覽器實現XML的解析方式也有所差別;json在這
           方面有優勢,json就是利用javascrpt語言的特性,把從服務器端返回的字符串轉換成js對象;
               在javascrpt中可以用如下方式定義對象:
                var obj={name:"hello world"};
                等價與
                var s="{name:'hello world'}";
                var obj=eval("("+s+")");
               
                如果要獲取name屬性的值,只需調用obj["name"]即可。如果服務器端返回的是<name>hello world</name>,則要取的name屬性
           的值就復雜的多;如果返回的XML格式的數據再復雜些,處理起來更麻煩。而json就是把服務器端返回的文本數據,在前臺利用
           javascript語言的特性,把文本數據轉換成js對象;
                如下:
                服務器端:
                server.jsp
               
                <%@ page language="java"  pageEncoding="UTF-8"%>
                <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
           <html>
            <head>
              <meta http-equiv="pragma" content="no-cache">
           <meta http-equiv="cache-control" content="no-cache">
           <meta http-equiv="expires" content="0">   
           <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
           <meta http-equiv="description" content="This is my page"> 
            </head>
           
            <body>
              <%
                response.setContentType("text/html;charset=utf-8");
             response.getWriter().write("{name:'hello word',obj:{age:11}}");
              %>
            </body>
           </html>
           
             客戶端:
             client.html
             不相關的代碼省略不寫了
             var strResult = objXMLReq.responseText;
             變量strResult的數值就是"{name:'hello word',obj:{age:11}}";
             利用javascrpt語言的特性:
             strResult=eval("("+strResult+")");
             這樣strResult就轉換成了js對象了;
             如果你要獲取name和age的數值,只需要:
             var name=strResult["name"];
             var age=strResult["obj"]["age"];
             比處理XML數據要方便的多;
            
             文筆不好,請大家見量!json相關內容回陸續推出!
            下載附件:
             /Files/hulizhong/json.pdf
          posted on 2008-09-02 19:15 二胡 閱讀(377) 評論(1)  編輯  收藏 所屬分類: ajax

          評論

          # re: json入門(1) 2008-09-08 19:23 esmiles
          不錯,通俗易懂。  回復  更多評論
            

          主站蜘蛛池模板: 松潘县| 金山区| 丹东市| 无极县| 乌审旗| 且末县| 龙口市| 加查县| 历史| 根河市| 浦东新区| 临沭县| 临颍县| 苏州市| 汪清县| 新营市| 西和县| 理塘县| 灵璧县| 锡林郭勒盟| 来宾市| 封开县| 多伦县| 宕昌县| 鲁山县| 香港 | 喀喇沁旗| 象州县| 宝应县| 遂宁市| 南京市| 谢通门县| 海伦市| 隆安县| 奇台县| 赤峰市| 泰安市| 延津县| 昆明市| 子长县| 黄大仙区|