js解析json字符串
{
states:{
rect1:{
TYPE:'T1',
TEXT:{TEXT:'txt1'}
},
rect2:{
TYPE:'T2',
TEXT:{TEXT:'txt2'}
},
rect3:{
TYPE:'T3',
TEXT:{TEXT:'txt2'}
}
}
}
说明:其中这个rect1,rect2,rect3,... rectN关键字,是随机生成的,没有啥规律
我想获得每一个rect里面的type值是多少,但是因为每一个rect的名字是不固定的,
我怎么获得里面的type呀?
如果rect的名字是固定的,我能用var json = eval("("+jsonStr+")");alert(json.states.rect1.type)得到
但是现在rect1不能写死啊。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(10)
多谢各位,最后这么解决了:
var j = jsonStr.states;
LZ为何不换一个思路:
{"states":
[
{"rect1":{}},
{"rect2":{}},
{"rect3":{}},
...
{"rectn":{}}
]
}
这样一搞,你好,他也好
这个正解啊,谢谢
+1
循环key: (for key in json.states)
使用关联数组访问:states["rect"+3].TYPE
LZ为何不换一个思路:
{"states":
[
{"rect1":{}},
{"rect2":{}},
{"rect3":{}},
...
{"rectn":{}}
]
}
这样一搞,你好,他也好
这个方法比较好
$.each(data,function(index,val){
$.each(val,function(index2,val2){
alert(val2.type);
})
})
循环key: (for key in json.states)