本文实例采用案例分析的方法介绍了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串,其中包括数组。我们该如何遍历读取呢?
使用.each难度太高,直接js读取吧
//通过url获取json对象 $.post("json/godjson!godlist", function (data){ //data.rows返回的是json字符串。需要转换成json对象 var json = eval(data.rows) //json变量现在就是一个数组对象,直接读取每个数组对象。结合属性进行输出 for(var i=0; i<json.length; i++){ alert(json[i].caishen+"--------- " + json[i].xishen); } //记得返回的数据类型一定要是json类型 }, "json");
通过如上的方式就能获取json串的json对象并进行输出。
为大家分享这么多的案例,就是想帮助大家掌握jquery遍历json对象集合的方法,真正理解,希望这篇文章可以帮助到大家。
新闻热点
疑难解答