//遍歷function eachObj(obj) { if (typeof obj === 'string') obj = JSON.parse(obj); if (typeof obj !== 'object') { console.error('參數(shù)錯(cuò)誤: %o不是有效的Object對(duì)象.', obj); return; } for (var key in obj) { console.log(key,':', obj[key]); } } //根據(jù)動(dòng)態(tài)key獲取值: obj[key]
成都創(chuàng)新互聯(lián)公司專注于中大型企業(yè)的成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作和網(wǎng)站改版、網(wǎng)站營(yíng)銷服務(wù),追求商業(yè)策劃與數(shù)據(jù)分析、創(chuàng)意藝術(shù)與技術(shù)開發(fā)的融合,累計(jì)客戶上千余家,服務(wù)滿意度達(dá)97%。幫助廣大客戶順利對(duì)接上互聯(lián)網(wǎng)浪潮,準(zhǔn)確優(yōu)選出符合自己需要的互聯(lián)網(wǎng)運(yùn)用,我們將一直專注高端網(wǎng)站設(shè)計(jì)和互聯(lián)網(wǎng)程序開發(fā),在前進(jìn)的路上,與客戶一起成長(zhǎng)!
你的json數(shù)據(jù)是一個(gè)對(duì)象,這個(gè)json數(shù)據(jù)結(jié)構(gòu)為:var obj={'list':[]},list是一個(gè)數(shù)組,數(shù)組里面又有很多對(duì)象,每個(gè)對(duì)象里的數(shù)據(jù)才是具體的內(nèi)容,如:var list=obj['list'];只要對(duì)list變量就行了。如下面變量:
var?obj={'list':[{'baotingmianjsString':null,'id':8}]};//你把json數(shù)據(jù)賦值給一個(gè)變量
var?list=obj['list'];//獲取具體數(shù)據(jù)的數(shù)組
//再遍歷數(shù)組
for(var?i=0;ilist.length;i++){
var?data=list[i];//獲取詳細(xì)數(shù)據(jù)
console.log(data.id);//輸出id的值,因?yàn)閐ata是對(duì)象,可以直接點(diǎn)屬性獲取對(duì)應(yīng)的值
console.log(data.baotingmianjsString);//輸出baotingmianjsString
}
大致就是這樣的思路。你可以把輸出的值用字符串拼接起來(lái)放在html頁(yè)面的一個(gè)div或其他的標(biāo)簽顯示,這種就是頁(yè)面顯示json數(shù)據(jù)。
這和各瀏覽器的Map鍵名的遍歷方法相關(guān),jquery只不過(guò)是包裝了一下 for (key in obj)。
解決方法為將鍵名放入的數(shù)組,通過(guò)遍歷數(shù)組的方式就不會(huì)有問(wèn)題了。
var a = [];
$.each(obj, function(key, val) { a[a.length] = key; });
a.sort();
$.each(a, function(i, key) {
window.alert("key = " + obj[key]); // 訪問(wèn)JSON對(duì)象屬性
});
/*
*?我用是jquery,javascript原生版,看注釋掉的代碼
*/
//var?jsNationNameContent?=?document.getElementById('nationNameContent');
var?nationNameContent?=?$('#nationNameContent'),
html=[];
for(var?i=?0,len?=?nationItems.length;i??len;?i++){
var?nation?=?nationItems[i];
var?id?=?nation.id;
var?name?=?nation.name;
//你要生成什么樣的格式?我這里就搞個(gè)簡(jiǎn)單的span標(biāo)簽
//拼裝html
html.push('span民族編號(hào):'+id+'?/span');
html.push('span民族名稱:'+name+'?/span');
html.push('br?/');
}
//如果拼裝后的html數(shù)組元素0,添加到面面上。
html.length0??nationNameContent.append(html.join(''));
//html.length0??(jsNationNameContent.innerHTML?=?html.join(''));