为了账号安全,请及时绑定邮箱和手机立即绑定

如何输出这个json里面的数据

{

    "name": "中国",

    "province": [{

        "name": "黑龙江",

        "cities": {

            "city": ["哈尔滨", "大庆"]

        }

    }, {

        "name": "广东",

        "cities": {

            "city": ["广州", "深圳", "珠海"]

        }

    }, {

        "name": "台湾",

        "cities": {

            "city": ["台北", "高雄"]

        }

    }, {

        "name": "新疆",

        "cities": {

            "city": ["乌鲁木齐"]

        }

    }]

}

//我要输出这些城市名,难道要多层for语句吗?

正在回答

2 回答

var data = {
    "name": "中国",
    "province": [{
        "name": "黑龙江",
        "cities": {
            "city": ["哈尔滨", "大庆"]
        }
    }, {
        "name": "广东",
        "cities": {
            "city": ["广州", "深圳", "珠海"]
        }
    }, {
        "name": "台湾",
        "cities": {
            "city": ["台北", "高雄"]
        }
    }, {
        "name": "新疆",
        "cities": {
            "city": ["乌鲁木齐"]
        }
    }]
};
//方式一
var provinces = data.province;
for(var i= 0,len=provinces.length;i<len;i++){
    var citys = provinces[i].cities.city;
    console.log('-----------------'+provinces[i].name+'--------------')
    for(var j= 0,jlen=citys.length;j<jlen;j++){
        console.log(citys[j]);
    }
}

//方式2
var citys2=[];
for(var x= 0,xlen=data.province.length;x<xlen;x++){
    citys2 = citys2.concat(data.province[x].cities.city)
}
console.log(citys2);

不知道你想要哪一个?

1 回复 有任何疑惑可以回复我~
#1

会飞的柠檬 提问者

非常感谢您的解答
2016-01-11 回复 有任何疑惑可以回复我~

console.log(data.province.reduce((a, b) => {

      return b.cities && b.cities.city && a.concat(b.cities.city)

    }, []))


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

如何输出这个json里面的数据

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信