十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
//遍历function eachObj(obj) { if (typeof obj === 'string') obj = JSON.parse(obj); if (typeof obj !== 'object') { console.error('参数错误: %o不是有效的Object对象.', obj); return; } for (var key in obj) { console.log(key,':', obj[key]); } } //根据动态key获取值: obj[key]
成都创新互联公司专注于中大型企业的成都网站设计、成都网站制作和网站改版、网站营销服务,追求商业策划与数据分析、创意艺术与技术开发的融合,累计客户上千余家,服务满意度达97%。帮助广大客户顺利对接上互联网浪潮,准确优选出符合自己需要的互联网运用,我们将一直专注高端网站设计和互联网程序开发,在前进的路上,与客户一起成长!
你的json数据是一个对象,这个json数据结构为:var obj={'list':[]},list是一个数组,数组里面又有很多对象,每个对象里的数据才是具体的内容,如:var list=obj['list'];只要对list变量就行了。如下面变量:
var obj={'list':[{'baotingmianjsString':null,'id':8}]};//你把json数据赋值给一个变量
var list=obj['list'];//获取具体数据的数组
//再遍历数组
for(var i=0;ilist.length;i++){
var data=list[i];//获取详细数据
console.log(data.id);//输出id的值,因为data是对象,可以直接点属性获取对应的值
console.log(data.baotingmianjsString);//输出baotingmianjsString
}
大致就是这样的思路。你可以把输出的值用字符串拼接起来放在html页面的一个div或其他的标签显示,这种就是页面显示json数据。
这和各浏览器的Map键名的遍历方法相关,jquery只不过是包装了一下 for (key in obj)。
解决方法为将键名放入的数组,通过遍历数组的方式就不会有问题了。
var a = [];
$.each(obj, function(key, val) { a[a.length] = key; });
a.sort();
$.each(a, function(i, key) {
window.alert("key = " + obj[key]); // 访问JSON对象属性
});
/*
* 我用是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;
//你要生成什么样的格式?我这里就搞个简单的span标签
//拼装html
html.push('span民族编号:'+id+' /span');
html.push('span民族名称:'+name+' /span');
html.push('br /');
}
//如果拼装后的html数组元素0,添加到面面上。
html.length0 nationNameContent.append(html.join(''));
//html.length0 (jsNationNameContent.innerHTML = html.join(''));