<script>var json1 = {"2":{"name":"第1条"},"1":{"name":"第2条"},"3":{"name":"第3条"}}var json2 = [{"name":"第1条"},{"name":"第2条"},{"name":"第3条"}]for(var i in json1){alert(json1[i].name);}//正确for(var i in json2){alert(json2[i].name);}</script>看看for-in代码在个浏览器差异:
下面通过一段代码单独给大家介绍JS 循环遍历JSON数据
JSON数据如:
{"options":"[{/"text/":/"王家湾/",/"value/":/"9/"},{/"text/":/"李家湾/",/"value/":/"10/"},{/"text/":/"邵家湾/",/"value/":/"13/"}]"}用js可以写成:var data=[{name:"a",age:12},{name:"b",age:11},{name:"c",age:13},{name:"d",age:14}];for(var o in data){ alert(o); alert(data[o]); alert("text:"+data[o].name+" value:"+data[o].age );} 或是<script type="text/javascript"> function text(){var json = {"options":"[{/"text/":/"王家湾/",/"value/":/"9/"},{/"text/":/"李家湾/",/"value/":/"10/"},{/"text/":/"邵家湾/",/"value/":/"13/"}]"} json = eval(json.options)for(var i=0; i<json.length; i++){alert(json[i].text+" " + json[i].value)} } </script>