本文實(shí)例采用案例分析的方法介紹了jquery遍歷json對(duì)象的三種情況,供大家參考,具體內(nèi)容如下
第一個(gè)案例:jquery 遍歷json對(duì)象集合 常用示例
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'){ //有異常的信息時(shí) 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();//某對(duì)象集合 if(null != pngFileList && pngFileList.size() > 0) { JSONArray pngFileArray =JSONArray.fromObject(pngFileList); } if(null != pngFileArray){ this.setTextAjax(pngFileArray.toString()); //異常的格式 //this.setTextAjax("{"status":"500","msg":""+errormsg+""}");//沒(méi)有記錄 /** * 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); }
第二個(gè)案例:jQuery 遍歷JSON 對(duì)象
不說(shuō)別的,直接貼代碼:
<script src="http://www.gimoo.net/t/1903/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>
第三個(gè)案例:jquery中遍歷讀取json串中的對(duì)象
假設(shè)我們從服務(wù)器端獲取如下的json串,其中包括數(shù)組。我們?cè)撊绾伪闅v讀取呢?
{"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讀取吧
//通過(guò)url獲取json對(duì)象 $.post("json/godjson!godlist", function (data){ //data.rows返回的是json字符串。需要轉(zhuǎn)換成json對(duì)象 var json = eval(data.rows) //json變量現(xiàn)在就是一個(gè)數(shù)組對(duì)象,直接讀取每個(gè)數(shù)組對(duì)象。結(jié)合屬性進(jìn)行輸出 for(var i=0; i<json.length; i++){ alert(json[i].caishen+"--------- " + json[i].xishen); } //記得返回的數(shù)據(jù)類型一定要是json類型 }, "json");
通過(guò)如上的方式就能獲取json串的json對(duì)象并進(jìn)行輸出。
為大家分享這么多的案例,就是想幫助大家掌握jquery遍歷json對(duì)象集合的方法,真正理解,希望這篇文章可以幫助到大家。