日期:2014-05-16  浏览次数:20345 次

jquery 如何获取json指定键为指定值的另一个指定键的值,该值还是个数据集合
jquery 如何获取json指定键为指定值的另一个指定键的值,该值还是个数据集合

------解决方案--------------------
就你这个结构需要遍历,除非你明确知道山东JSON对象所在数组的下标,要不找你遍历找到数组中的山东JSON对象后才能获取到subCity节点

jquery也是通过遍历获取需要的内容的了,你当jquery真这么nb,让他去什么就取什么噶
------解决方案--------------------
var ss= '[{ "shengID": "sd", "shengName": "山东", "subCity": [{ "cityID": "jn", "cityName": "济南"}] },' +
 '....' +
']';

你的这个是数组,所以给定省的名称需要遍历数组找到对应的省,如果是json对象就简单了,可以通过键来取,不用遍历,如

var d={"山东":{ "shengID": "sd",  "subCity": [{ "cityID": "jn", "cityName": "济南"}] }

var city=d["山东"].subCity

------解决方案--------------------
引用:
Quote: 引用:

递归遍历  不明白你的意思


必须遍历么?
var ss= '[{ "shengID": "sd", "shengName": "山东", "subCity": [{ "cityID": "jn", "cityName": "济南"}] },' +
 '....' +
']';

如果我想获取山东的所有城市,必须遍历一遍来获取么?有直接查询的程序么?
用$.each() ?
你用$.each()也是遍历啊,这种情况下我会选择这么封装我的数据

var data={
"sd":{"citys":[{ "cityID": "jn", "cityName": "济南"},{ "cityID": "ly", "cityName": "临沂"}]},
"sc":{"citys":[{ "cityID": "cd", "cityName": "成都"},{ "cityID": "pzh", "cityName": "攀枝花"}]},
}
var citys=data["sd"].citys;//获取的是城市数组,for循环打印出来即可