1. 程式人生 > >JSON的遍歷(js)

JSON的遍歷(js)

今天在做前後端互動的時候需要把一個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的下標, 是字串