【JS】
var json1 = { 'name' : 'yy' , 'age' : 11 , 'fun' : '前端开发' }; for( var attr in json1 ) { alert( attr + ' : ' + json1[attr] ); // 注意这里访问不能用.访问,也不能加引号,否则就代表访问的是json里面名称为attr的值了 } var json2 = { url : ['img/1.png' , 'img/2.png' , 'img/3.png' , 'img/4.png'], text : ['乐乐' , '呵呵' , '嘿嘿' , '哈哈'] }; for( var attr in json2 ) { for( var i=0 ; i<json2[attr].length ; i++ ) // → 也可以写成:for( var i in json2[attr] ) { alert( attr + ' : ' + json2[attr][i] ); } }
如果是arr里包含json,遍历如下:
var arr = [{ 'name' : 'ww' , 'age' : 1 },{ 'name' : 'hh' , 'age' : 2 },{ 'name' : 'nn' , 'age' : 3 }]; for( var i=0 ; i<arr.length ; i++ ) //→ 也可以写成:for( var i in arr ) { for( var attr in arr[i] ) { alert( attr + ' : ' + arr[i][attr] ); } }
【总结】:json只能用 for-in 去遍历,数组可以用 for循环或 for-in 去遍历