多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

中國最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2

json教程

  • 關于 JSON
  • JSON 教程

    json格式

    JSON解析

    JSON遍歷

    JSON調用

    JSON轉換

    JSON獲取

    JSON字符串

    JSON數組

    js/jquery解析json和數組格式的方法詳解

    閱讀 (2347)

    在解析之前,我們必須弄清楚幾個概念:數組,關聯數組以及json之間有哪些區別和聯系點?

    一.概念介紹
    1.數組

    語法: 
    ECMAScript v3規定了數組直接量的語法,JavaScript 1.2和JScript 3.0實現了它。可以把—個用逗號分隔的表達式列表放在方括號中,創建并初始化—個數組。這些表達式的值將成為數組元素。例如:

    var a = [1, true, 'abc'];

    具體操作查看API.

    ps:必須方括號隔開。


    2.關聯數組

    (1)語法:
    var myhash= {”key1″:”val1″, “key2″:”val2″ };//obj

    (2)var
    myhash= {key1:”val1″, key2:”val2″ };//obj-也可以

    ps:跟json格式幾乎相同,但是json格式要求更加嚴格(里面的鍵值對必須使用雙引號),但json只能作為一種格式標準,如果要對其進行操作必須轉換成關聯數組對象(obj)。


    2.簡單操作
    (1)向Hash關聯數組添加鍵值

     // 添加一個新鍵 newkey ,鍵值為 newval

     myhash[”newkey”] = “newval”;

    (2)刪除Hash關聯數組已有鍵值

     // 刪除一個鍵 newkey ,同時,該鍵值對應的 newval 也就消失了
     delete myhash[”newkey”];

     (3)遍歷Hash關聯數組

     // 遍歷整個hash 數組 
     for (key in myhash) {
     val = myhash[key];
     }

    (4)獲得值

     方式1.myhash.key1
     方式2.myhash.key2


    3.json
    格式要求:

    {”key1″:”val1″, “key2″:”val2″ };//嚴格按照此格式,操作可依照關聯數組的操作


    二.前后臺交互中幾個關鍵點
    1.當服務器發送的數據不是一條json,而是多條json時,則應當聯系數組和關聯數組來組裝字符串
    例如:var objs = [{ id: 1, name: 'n_1' }, { id: 2, name: 'n_2'}];

    2.至始至終服務器給客戶端的數據都只是字符串,因此為了讓其能夠在js中對其進行必要的操作,可以通過eval()進行轉換成js可執行的對象。
    因此jQuey中提供的$.parseJSON()是有局限的,如果是上面1提到的這種情況則就必須使用eval()進行轉換,然后再通過$.each(objs,function(i,o){...})進行操作


    三.具體的實例代碼

    頁面代碼:

    代碼如下:

    <body>
     <input type="button" value="send ajax json" onclick="sendAjaxByjson();"/>
     <input type="button" value="send ajax array" onclick="sendAjaxByarray();"/>
    </body>
    
     <script type="text/javascript">
      function sendAjaxByjson(){
       $.post("json",{},function(data){
        var obj=data;
        alert(typeof obj);//string
        //var a=eval(obj);不解,不注釋則會報錯..
        var strToobj=$.parseJSON(obj);
        alert(strToobj.name);
        alert(typeof strToobj)//obj
        var obja={'name':'techbirds','age':'23','sex':'male'};
        alert(typeof obja);//obj
        alert(obja['name']+":"+obja.age);
        delete obja['name'];
       });
      }
      function sendAjaxByarray(){
       $.post("array",{},function(data){
        var str=data;
        alert(typeof str);//string
        alert(typeof eval(str));//object
        var obja=[1,2,3,4,5];
        alert(typeof obja);//object
    
       });
      }
     </script>
    

    后臺代碼:

    代碼如下:

    @Override
     protected void service(HttpServletRequest req, HttpServletResponse reps)
       throws ServletException, IOException {
      Map<String, Object> jsonMap=new HashMap<String, Object>();
      jsonMap.put("name", "techbirds");
      jsonMap.put("age", 23);
      jsonMap.put("sex", "male");
      reps.getWriter().print(JSONObject.fromObject(jsonMap).toString());
      reps.getWriter().flush();
      reps.getWriter().close();
     }
    

    代碼如下:

    @Override
     protected void service(HttpServletRequest req, HttpServletResponse reps)
       throws ServletException, IOException {
      String array="[1,2,3,4,5,6]";
      reps.getWriter().print(array);
      reps.getWriter().flush();
      reps.getWriter().close();
     }
    

    Jquery解析json數組字符串

    一個json對象數組的json字符串:

    var str=[{"Price":12,"Name":"aaa","Age",22},{"Price":24,"Name":"bbb","Age",33}];
    在前臺,使用jquery的parseJSON方法來進行解析,并用jquery的foreach的方法來進行解析,代碼如下:

    var jsonarray= $.parseJSON(str);
    alert(jsonarray);
    $.each(jsonarray, function (i, n)
    {
        alert(n.Price);
    }
    
    對于不同版本的jquery來說,它們解析的json對象數組的字符串格式也不同(我使用了兩個不同版本的jquery,就遇到了這樣的問題),如果上述代碼無法解析,就用eval函數來包裹一下,代碼如下:
    var jsonarray= $.parseJSON(str);
    $.each(eval("(" + jsonarray+ ")"), function (i, n) {
        alert(n.Price);
    }
    
    在解析json對象數組字符串的過程中,也可以使用alert來彈出$.parseJSON(str)解析后的結果,如果彈出的對話框中顯示object,則說明解析成功了,可以通過對象.屬性名獲得到對應屬性的值,如果彈出的不是object,則用eval()來進行包裝一下形成對象,再獲得對應屬性的值。

    關閉
    程序員人生
    主站蜘蛛池模板: 欧美一级特黄毛片视频 | 国产精品久久久久久免费播放 | 中文字幕亚洲一区二区三区 | 最近高清中文在线字幕在线观看 | 最近中文字幕高清字幕在线视频 | 精品国产91久久久久久久 | 亚洲一区精品视频在线 | 久久精品观看 | 一区二区视频在线观看高清视频在线 | 国产成人高清在线观看播放 | 日韩欧美一区二区中文字幕 | 欧美一级片免费观看 | 亚洲黄色在线观看 | 久久国产精品久久久久久 | 欧美一欧美一区二三区性 | 欧美日本一道免费一区三区 | 亚洲在线精品视频 | 欧美videos粗暴 | 欧美日韩亚洲国产精品一区二区 | 国产91高跟丝袜 | 波多结衣一区二区三区 | 国产视频www| 最近中文字幕免费高清版7 最近中文字幕免费国语 | 国产亚洲精品国产 | 免费国产叼嘿秀视频 | 中文字幕成人在线观看 | 亚洲精品毛片久久久久久久 | 国产视频日本 | 武则天a级在线观看 | 精品久久久久久亚洲精品 | 亚洲国产高清在线精品一区 | 欧美性xxxx偷拍 | 欧美另类xxx | 久久久久久日本一区99 | jizz 欧美巨大 | 中文字幕丰满乱码 | 日本特黄特色aa大片免费 | 欧美另类极品videosbest视 | 亚洲欧美日韩高清 | 最新毛片久热97免费精品视频 | 波多野结衣一区二区在线 |