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串,其中包括数组。我们该如何遍历读取呢?

{"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变量现在就是一个数组对象,直接读取每个数组对象。结合属性进行输出

for(var i=0; i<json.length; i++){

alert(json[i].caishen+"--------- " + json[i].xishen);

}

//记得返回的数据类型一定要是json类型

}, "json");

通过如上的方式就能获取json串的json对象并进行输出。

为大家分享这么多的案例,就是想帮助大家掌握jquery遍历json对象集合的方法,真正理解,希望这篇文章可以帮助到大家。

以上是 jquery遍历json对象集合详解 的全部内容, 来源链接: utcz.com/z/314737.html

回到顶部