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){
varstatus=jsonText.status;
varmsg=jsonText.msg;
if(status=='500'){
//有异常的信息时
alert(msg);
}else{
$.each(jsonText,function(i,item){
varpngPath=item[0];
varpngName=item[1];
});
}
}
}
});
jsonText的格式:
{"status":"200","msg":[{"id":"1","name":"n1"},{"id":"2","name":"n2"}]}
{"status":"500","msg":"异常信息"}
java中:
ListpngFileList=newArrayList();//某对象集合
if(null!=pngFileList&&pngFileList.size()>0){
JSONArraypngFileArray=JSONArray.fromObject(pngFileList);
}
if(null!=pngFileArray){
this.setTextAjax(pngFileArray.toString());
//异常的格式
//this.setTextAjax("{\"status\":\"500\",\"msg\":\""+errormsg+"\"}");//没有记录
/**
*ajax返回html,包括json形式
*
*@paramresponseContent
*/
publicvoidsetTextAjax(StringresponseContent){
try{
HttpServletResponseresponse=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);
PrintWriterout=response.getWriter();
out.print(responseContent);
out.flush();
out.close();
}catch(IOExceptione){
e.printStackTrace();
}
//ajaxResponse=newStringBufferInputStream(responseContent);
}
第二个案例:jQuery遍历JSON对象
不说别的,直接贴代码:
<scriptsrc="js/jquery-1.6.4.js"type="text/javascript"></script>
<scripttype="text/javascript">
$(document).ready(function(){
$("#Link").click(function(){
varobjson="[{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'}]}]";
varobj=eval(objson);
$(obj).each(function(index){
varval=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串中的对象
{"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}
//通过url获取json对象
$.post("json/godjson!godlist",function(data){
//data.rows返回的是json字符串。需要转换成json对象
varjson=eval(data.rows)
//json变量现在就是一个数组对象,直接读取每个数组对象。结合属性进行输出
for(vari=0;i<json.length;i++){
alert(json[i].caishen+"---------"+json[i].xishen);
}
//记得返回的数据类型一定要是json类型
},"json");