json取值问题请教!~

「已注销」 2013-03-12 04:18:23
有json串如下:

var c_list={"list":[{n:"北京市",l:[{n:"市辖区0"}]},{n:"天津市",l:[{n:"市辖区1"}]},{n:"上海市",l:[{n:"市辖区2"}]}]};



我想用 市名称 获取该市下属辖区的 L 组子数据数据,如:

c_list.list["北京市"].l.length


该如何写呢?
...全文
356 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
菜牛 2013-03-14
  • 打赏
  • 举报
回复
不用改变格式啊,我给你的代码就是在你的格式上用的。
「已注销」 2013-03-14
  • 打赏
  • 举报
回复
谢谢 谢谢,看来我只能改变下json格式了!~ 多谢各位!~
wiksys 2013-03-13
  • 打赏
  • 举报
回复
引用 7 楼 Mackz 的回复:
JavaScript code?1234567891011var c_list={list:[{n:"北京市",l:[{n:"市辖区0"}]},{n:"天津市",l:[{n:"市辖区1"}]},{n:"上海市",l:[{n:"市辖区2"}]}]}; Object.prototype.findLocale = function(c){ for(var i in thi……
+1
lisj0731 2013-03-12
  • 打赏
  • 举报
回复
引用 6 楼 Mackz 的回复:
JavaScript code ? 1234567891011121314151617 var c_list={list:[{n:"北京市",l:[{n:"市辖区0"}]},{n:"天津市",l:[{n:"市辖区1"}]},{n:"上海市",l:[{n:"市辖区2"}]}]}; function findCityLocale(c){ for(var i in c_……
这个很有想法
菜牛 2013-03-12
  • 打赏
  • 举报
回复
var c_list={list:[{n:"北京市",l:[{n:"市辖区0"}]},{n:"天津市",l:[{n:"市辖区1"}]},{n:"上海市",l:[{n:"市辖区2"}]}]};

Object.prototype.findLocale = function(c){
    for(var i in this.list){
        if (this.list[i].n===c){
            return this.list[i];
        }
    }
}

alert(c_list.findLocale('北京市').l.length);

菜牛 2013-03-12
  • 打赏
  • 举报
回复
var c_list={list:[{n:"北京市",l:[{n:"市辖区0"}]},{n:"天津市",l:[{n:"市辖区1"}]},{n:"上海市",l:[{n:"市辖区2"}]}]};

function findCityLocale(c){
    for(var i in c_list.list){
        if (c_list.list[i].n===c){
            return c_list.list[i].l;
        }
    }
}

var bjl = findCityLocale('北京市');
if (bjl){
    alert(bjl[0].n);
}
else{
    alert('not founded');
}
洋小葱 2013-03-12
  • 打赏
  • 举报
回复
我觉得不用循环还是拿不到吧。除非你在后台就已经排好序,然后直接按1楼的:c_list.list[0].l ,0的话你就知道是北京市。
bbjbepzz 2013-03-12
  • 打赏
  • 举报
回复
你的数据格式换下就行了。

var c_list = {
    "list" : {
        "北京市" : {
            l : [{
                    n : "市辖区0"
                }
            ]
        },
        "天津市" : {
            l : [{
                    n : "市辖区1"
                }
            ]
        },
        "上海市" : {
            l : [{
                    n : "市辖区2"
                }
            ]
        }
    }
};
justsoloving 2013-03-12
  • 打赏
  • 举报
回复
引用 2 楼 sea267 的回复:
引用 1 楼 justsoloving 的回复:JavaScript code?1c_list.list[0].l 谢谢,我知道这种写法,我是想说能否不用键索引,而去查找 N=["北京市"]来获取呢? 能否尽量避免循环整个json串来查找?! 因为我这边有可能没法直接获取键索引,只有键值!~
索引肯定一直都在的,你说的意思是同样键值可能处在不同索引的位置上吧,我觉得索引绕不开
「已注销」 2013-03-12
  • 打赏
  • 举报
回复
引用 1 楼 justsoloving 的回复:
JavaScript code?1c_list.list[0].l
谢谢,我知道这种写法,我是想说能否不用键索引,而去查找 N=["北京市"]来获取呢? 能否尽量避免循环整个json串来查找?! 因为我这边有可能没法直接获取键索引,只有键值!~
justsoloving 2013-03-12
  • 打赏
  • 举报
回复
c_list.list[0].l

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧