最近正在处理一个json数据的遍历问题,把我的心得和方法拿出来和大家交流。
过程:
由php从mysql数据库获取数据,再用json_encode()转换成json数据传递给前台处理的js(jquery)文件,可以用$.get;$.ajax等。再看看怎么遍历吧。
我的json数据是这样的:{"hotel":["旅馆1","旅馆2"],"scenic":["景点1","景点2","景点3"]},类似一个二维数组,当然如果在php中,c中处理一个二维数组是比较容易的,但对js来说就有点困难了,当然我们允许这个json的data是键值对的形式,就是可以含有索引。(以下方法适用于二维数组形式,如有需求,可以自行更改嵌套的层级)
现在我们有两种方法可以遍历它:
1,for( var i in object) //object即为你要遍历的对象
for ( var j in data){
alert(j);//显示索引
if(typeof(data[j])=='object')//显然,有些值对应的有是数组或对象,就再次遍历它
for(var k in data[j])
alert(data[j][k]);//显示最终的值,非数组,对象
else
alert(j + data[j]);//如果值不是数组,对象,就直接显示它
}
2,.each(data,function(index,term){}) //data即为需遍历的对象,index,term分别为键,值,类似于数组的键值对。
$.each(data,function(index,term){
if(typeof(term)=='object')
$.each(term,function(index_1,term_1){
alert(term_1);
});
else
alert(term);
});
当然,以上方法只是我自己的查阅所得,能力有限,如有错误,望各位批评指正。
QQ:165392826,www.webyzl.com