這篇文章主要為大家詳細介紹了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串中的對象
假設(shè)我們從服務器端獲取如下的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字符串。需要轉(zhuǎn)換成json對象
var json = eval(data.rows)
//json變量現(xiàn)在就是一個數(shù)組對象,直接讀取每個數(shù)組對象。結(jié)合屬性進行輸出
for(var i=0; i<json.length; i++){
alert(json[i].caishen+"--------- " + json[i].xishen);
}
//記得返回的數(shù)據(jù)類型一定要是json類型
}, "json");
通過如上的方式就能獲取json串的json對象并進行輸出。
為大家分享這么多的案例,就是想幫助大家掌握jquery遍歷json對象集合的方法,真正理解,希望這篇文章可以幫助到大家。