今天在做前后端交互的时候需要把一个json中的数组以表格(table)的形式输出
然后就出现了标题的问题,怎么遍历JSON对象 ,
经过痛苦的纠结之后发现json对象是可以像数组一样使用下标遍历的!
只不过json对象使用key值作为下标遍历的, 并且作为下标的key值是字符串形式
var j={"id":"1","name":"博通","age":"16","other":"帅"}
对于上述json在js用j["id"]就可以取到'1' ,j["name"]就可以得到'博通'
举个例子,比如我在JAVA中拼出如下字符串形式的json后输出:
{"arr":[
{"id":"1","name":"博通","age":"16","other":"帅"},
{"id":"2","name":"自己","age":"21","other":"第一帅"},
{"id":"3","name":"任松","age":"17","other":"不穿裤衩"}
]}
我想做成3*4的表格就出现了js端怎么遍历每个json对象的问题
function changeData(da)
{//da是json对象, 做成表格显示在网页上
for(var i in da.arr)
{
//添加数组个数的行, i是arr的下标(0,1,2,3)
$('#tab').append("<tr"+" id=\"r"+i+"\">"+"</tr>");
//给每行添加td, 每个j都是一个td
for(var j in da.arr[i])
{
$("#r"+i).append("<td>"+da.arr[i][j]+"</td>");
}
}
}
效果:
for(var j in da.arr[i])
{
$("#r"+i).append("<td>"+da.arr[i][j]+"</td>");
}
每个j是json的下标, 是字符串