你说的是第一行, 第二行吧,
站在用户的角度思考问题,与客户深入沟通,找到水磨沟网站设计与水磨沟网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站建设、成都网站设计、企业官网、英文网站、手机端网站、网站推广、域名注册、虚拟空间、企业邮箱。业务覆盖水磨沟地区。
你把返回的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(''));
这和各浏览器的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对象属性
});
//遍历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]
你的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数据。