【话题】JSON 遍历问题
2009-04-28 20:03:06 来自:anshun 浏览数:96次
我以前用XML做了一个目录树,由于XML文件过大
现在想用JSON来做目录树
怎么用JAVASCRIPT对JSON进行遍历,生成目录树。
<script language="JavaScript" type="text/javascript">
var d ={"msg":[{"user":"llinzzi","msg":"你好"},{"user":"Huanhuan","msg":"嘿嘿"}]};
//alert(d.type);
//alert(d.msg[0].msg);
//alert(d.msg.length);
for (var o in d)
{
alert(d[o][0]);
//alert(d[o].length)
for(var c in o)
{
//alert(c[o].msg)
}
}
</script>
更多相关的话题
爱莫能助回复于28日21点04分
JSON能做模糊查询操作吗?
老猫猫回复于28日22点05分
其实写个json串,eval下就可以的。。。
李邦政回复于28日23点07分
json在js中的应用比xml要重要很多 ,xml在js中是可有可无的东西
毛小毛回复于29日03点09分
呵呵
aidemijue回复于29日04点23分
muxrwc ,你干嘛做什么都要用到正则啊 ,真可恶...^_^ ,偷偷的说下 ,其实我是在嫉妒你呢 ,正则这么好...
宝宝妈妈回复于29日05点31分
json结构你怎么变都可以,照遍历不误!至于你想用这个生成树 ,那是另一会事情了
山色空蒙回复于29日06点39分
谢谢你的帮助for(var i=0;i <json.msg.length;i++)
{
alert(json.msg[i].user);
}
是可以读取所有user的值。
我是想要遍历,生成目录树。
USER是个属性,
JSON结构是可变的。
cherry1回复于29日07点40分
那json能象XML那样遍历吗??生成目录树吗??
json.msg[i].user用于输出user的值
假如说我原先不知道msg的结构?,或者说MSG的结构是可变的
就不能用USER的属性来取值。
我想要的是不知道MSG结构,遍历MSG,列出 属性=值。即 user=llinzzi,msg=嘿嘿
能否留下QQ号码??讨论
jzhzhang回复于29日08点38分
JScript code for(var i=0;i<json.msg.length;i++) { alert(json.msg[i].user); }
cuizichen96回复于29日09点42分
........回错帖子了抱歉...实在抱歉....
yiyi01回复于29日10点52分
没遇到过这种情况.
家有小耗子回复于29日11点57分
^o^忽略了boolean,加上即可..
闪了.
cigislxl回复于29日12点59分
谢谢 以上各位的帮助
碧空彩蝶回复于29日14点07分
>. <
段維多利亞回复于29日15点17分
用for in即可下面是一个case
JScript code <script type="text/javascript"> var showStruct = function (struct, left) { var a = [], type, i; left = left || '' for (i in struct) { type = typeof struct[i]; if (/string|number/.test(type)) { a[a.length] = left + i + " : " + struct[i]; } else if ('object' == type) { a[a.length] = left + i + " : \n" + arguments.callee(struct[i], left + ' '); } } return a.join("\n"); }; alert(showStruct({ 'a' : '我是a' , 0 : '我是0' , 'ar' : [ '我是0', { '0' : '我是ar' } ] , 'ob' : { name : '我是ob' } })); </script>
zfamily回复于29日16点24分
哦 ,我这里的写的json就是你程序中的 变量d ,你改下就可以了
p7229974回复于29日17点38分
>. <
黑色魔术师回复于29日18点57分
遍历JSON 函数function test1(p)
{
for(var i in p)
{
if(typeof(p[i])=="string")
{
a+="类型"+typeof(i)+' key:' + i + ' = ' + p[i].toString()+"a <br>";
}
else
{
a+="类型"+typeof(i)+' key:' + i + ' = ' + p[i].toString()+"b <br>";
test1(p[i]);
}
}
}
王序欣回复于29日20点04分
密码强度...