jquery遍歷json對象集合詳解

字號:


    這篇文章主要為大家詳細介紹了jquery遍歷json對象集合、jQuery 遍歷JSON對象、jquery中遍歷讀取json串中的對象三種情況,感興趣的小伙伴們可以參考一下
    第一個案例:jquery 遍歷json對象集合 常用示例
    jsp中
    $.ajax({
            url: "${applicationScope.rootpath}common/getContractPage.html?userConId=${userConId}",
            type: "post",
            dataType:"json",
            data: {},
            success: function (jsonText) {
              if(jsonText){
                var status = jsonText.status;
                var msg = jsonText.msg;
                if(status == '500'){
                  //有異常的信息時
                alert(msg);
                }else{
                  $.each(jsonText,function(i,item){
                    var pngPath = item[0];
                    var pngName = item[1];
                });
                }
              }
            }
          });
    jsonText的格式:
    {"status":"200","msg":[{"id":"1","name":"n1"},{"id":"2","name":"n2"}]}
    {"status":"500","msg":"異常信息"}
    java中: 
    List pngFileList = new ArrayList();//某對象集合
    if(null != pngFileList && pngFileList.size() > 0) {
    JSONArray pngFileArray =JSONArray.fromObject(pngFileList);
    }
    if(null != pngFileArray){
    this.setTextAjax(pngFileArray.toString());
    //異常的格式
    //this.setTextAjax("{\"status\":\"500\",\"msg\":\""+errormsg+"\"}");//沒有記錄
    /**
    * ajax返回html,包括json形式
    * 
    * @param responseContent
    */
    public void setTextAjax(String responseContent) {
    try {
    HttpServletResponse response = getHttpResponse();
    response.setContentType("text/html");
    response.setCharacterEncoding("UTF-8");
    response.setHeader("Pragma", "No-cache");
    response.setHeader("Content-Type", "text/html");
    response.setHeader("Cache-Control", "no-cache");
    response.setDateHeader("Expires", 0);
    PrintWriter out = response.getWriter();
    out.print(responseContent);
    out.flush();
    out.close();
    } catch (IOException e) {
    e.printStackTrace();
    }
    // ajaxResponse = new StringBufferInputStream(responseContent);
    }
    第二個案例:jQuery 遍歷JSON 對象
    不說別的,直接貼代碼:
    <script src="js/jquery-1.6.4.js" type="text/javascript"></script>
    <script type="text/javascript">
      $(document).ready(function() {
        $("#Link").click(function() {
        var objson = "[{Title:'Sjr',Content:'Library',summary:'summary'},{Title:'Sjr',Content:'Library',summary:[{sum0:'sum0'},{sum0:'sum1'},{sum0:'sum2'}]},{Title:'Sjr',Content:'Library',summary:[{sum0:'sum0'},{sum0:'sum1'},{sum0:'sum2'}]}]";
          var obj = eval(objson);
          $(obj).each(function(index) {
            var val = obj[index];
            if (typeof (val.summary) == "object") {
              $(val.summary).each(function(ind) {
                alert(val.Title + " " + val.Content + " " + val.summary[ind].sum0);
              });
            } else {
              alert(val.Title + " " + val.Content + " " + val.summary);
            }
          });
        });
      });
    </script>
    第三個案例:jquery中遍歷讀取json串中的對象
    假設我們從服務器端獲取如下的json串,其中包括數(shù)組。我們該如何遍歷讀取呢?
    復制代碼 代碼如下:
    {"result":null,"rows":[{"caishen":"東","fushen":"西北","huajiazi":"甲子","id":1,"nayin":"大海水","shengmen":"南","simen":"北","wugui":"西","xishen":"東南","yanggui":"西南","yingui":"東北"},{"caishen":"東北","fushen":"北","huajiazi":"乙丑","id":2,"nayin":"大林木","shengmen":"西北","simen":"西南","wugui":"東南","xishen":"東","yanggui":"西","yingui":"南"},{"caishen":"西","fushen":"東","huajiazi":"丙寅","id":3,"nayin":"石榴木","shengmen":"北","simen":"西北","wugui":"南","xishen":"東南","yanggui":"東北","yingui":"西南"}],"total":3} 
    使用.each難度太高,直接js讀取吧
    //通過url獲取json對象     
         $.post("json/godjson!godlist", function (data){ 
    //data.rows返回的是json字符串。需要轉換成json對象 
           var json = eval(data.rows) 
    //json變量現(xiàn)在就是一個數(shù)組對象,直接讀取每個數(shù)組對象。結合屬性進行輸出 
           for(var i=0; i<json.length; i++){ 
            alert(json[i].caishen+"--------- " + json[i].xishen); 
           } 
    //記得返回的數(shù)據(jù)類型一定要是json類型 
        }, "json"); 
    通過如上的方式就能獲取json串的json對象并進行輸出。
    為大家分享這么多的案例,就是想幫助大家掌握jquery遍歷json對象集合的方法,真正理解,希望這篇文章可以幫助到大家。