鱼C论坛

 找回密码
 立即注册
查看: 2955|回复: 3

如何把复合字典中的城市代码提取出来

[复制链接]
发表于 2022-12-26 17:17:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
如何把下面字典中的城市代码提取出来(代码太长,我只放了前面一小部分上来)


{
    "flag": 1,
    "data": {
        "data": {
            "country": {
                "list": {
                    "1": {
                        "enName": "hot country",
                        "name": "热门国家"
                    },
                    "350": {
                        "code": "350",
                        "abroadFlag": "2",
                        "level": "1",
                        "spelling": "YZ",
                        "cityLevel": 999,
                        "areaNumber": "",
                        "sort": "350",
                        "seoUri": "asia",
                        "pinyin": "YaZhou",
                        "parentCode": "",
                        "enName": "Asia",
                        "name": "亚洲",
                        "category": 0
                    },
                    "360": {
                        "code": "360",
                        "abroadFlag": "2",
                        "level": "1",
                        "spelling": "BMZ",
                        "cityLevel": 999,
                        "areaNumber": "",
                        "sort": "360",
                        "seoUri": "northamerica",
                        "pinyin": "BeiMeiZhou",
                        "parentCode": "",
                        "enName": "NorthAmerica",
                        "name": "北美洲",
                        "category": 0
                    },
                    "370": {
                        "code": "370",
                        "abroadFlag": "2",
                        "level": "1",
                        "spelling": "NMZ",
                        "cityLevel": 999,
                        "areaNumber": "",
                        "sort": "370",
                        "seoUri": "southamerica",
                        "pinyin": "NanMeiZhou",
                        "parentCode": "",
                        "enName": "SouthAmerica",
                        "name": "南美洲",
                        "category": 0
                    },
                    "380": {
                        "code": "380",
                        "abroadFlag": "2",
                        "level": "1",
                        "spelling": "DYZ",
                        "cityLevel": 999,
                        "areaNumber": "",
                        "sort": "380",
                        "seoUri": "oceania",
                        "pinyin": "DaYangZhou",
                        "parentCode": "",
                        "enName": "Oceania",
                        "name": "大洋洲",
                        "category": 0
                    },
                    "390": {
                        "code": "390",
                        "abroadFlag": "2",
                        "level": "1",
                        "spelling": "OZ",
                        "cityLevel": 999,
                        "areaNumber": "",
                        "sort": "390",
                        "seoUri": "europe",
                        "pinyin": "OuZhou",
                        "parentCode": "",
                        "enName": "Europe",
                        "name": "欧洲",
                        "category": 0
                    },
                    "400": {
                        "code": "400",
                        "abroadFlag": "2",
                        "level": "1",
                        "spelling": "FZ",
                        "cityLevel": 999,
                        "areaNumber": "",
                        "sort": "400",
                        "seoUri": "africa",
                        "pinyin": "FeiZhou",
                        "parentCode": "",
                        "enName": "Africa",
                        "name": "非洲",
                        "category": 0
                    },
                    "410": {
                        "code": "410",
                        "pinyin": "ZhongGuo",
                        "abroadFlag": "0",
                        "level": "2",
                        "parentCode": "350",
                        "spelling": "ZG",
                        "areaNumber": "",
                        "enName": "China",
                        "name": "中国",
                        "sort": "410",
                        "category": 1,
                        "seoUri": "china"
       
        },
        "version": 20220406
    }
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-12-26 17:50:18 | 显示全部楼层

应该是 json 数据,最简单粗暴直接一层层拨开 for 循环嘛,参考代码:
temp = {
    "flag": 1,
    "data": {
        "data": {
            "country": {
                "list": {
                    "1": {
                        "enName": "hot country",
                        "name": "热门国家"
                    },
                    "350": {
                        "code": "350",
                        "abroadFlag": "2",
                        "level": "1",
                        "spelling": "YZ",
                        "cityLevel": 999,
                        "areaNumber": "",
                        "sort": "350",
                        "seoUri": "asia",
                        "pinyin": "YaZhou",
                        "parentCode": "",
                        "enName": "Asia",
                        "name": "亚洲",
                        "category": 0
                    },
                    "360": {
                        "code": "360",
                        "abroadFlag": "2",
                        "level": "1",
                        "spelling": "BMZ",
                        "cityLevel": 999,
                        "areaNumber": "",
                        "sort": "360",
                        "seoUri": "northamerica",
                        "pinyin": "BeiMeiZhou",
                        "parentCode": "",
                        "enName": "NorthAmerica",
                        "name": "北美洲",
                        "category": 0
                    },
                    "370": {
                        "code": "370",
                        "abroadFlag": "2",
                        "level": "1",
                        "spelling": "NMZ",
                        "cityLevel": 999,
                        "areaNumber": "",
                        "sort": "370",
                        "seoUri": "southamerica",
                        "pinyin": "NanMeiZhou",
                        "parentCode": "",
                        "enName": "SouthAmerica",
                        "name": "南美洲",
                        "category": 0
                    },
                    "380": {
                        "code": "380",
                        "abroadFlag": "2",
                        "level": "1",
                        "spelling": "DYZ",
                        "cityLevel": 999,
                        "areaNumber": "",
                        "sort": "380",
                        "seoUri": "oceania",
                        "pinyin": "DaYangZhou",
                        "parentCode": "",
                        "enName": "Oceania",
                        "name": "大洋洲",
                        "category": 0
                    },
                    "390": {
                        "code": "390",
                        "abroadFlag": "2",
                        "level": "1",
                        "spelling": "OZ",
                        "cityLevel": 999,
                        "areaNumber": "",
                        "sort": "390",
                        "seoUri": "europe",
                        "pinyin": "OuZhou",
                        "parentCode": "",
                        "enName": "Europe",
                        "name": "欧洲",
                        "category": 0
                    },
                    "400": {
                        "code": "400",
                        "abroadFlag": "2",
                        "level": "1",
                        "spelling": "FZ",
                        "cityLevel": 999,
                        "areaNumber": "",
                        "sort": "400",
                        "seoUri": "africa",
                        "pinyin": "FeiZhou",
                        "parentCode": "",
                        "enName": "Africa",
                        "name": "非洲",
                        "category": 0
                    },
                    "410": {
                        "code": "410",
                        "pinyin": "ZhongGuo",
                        "abroadFlag": "0",
                        "level": "2",
                        "parentCode": "350",
                        "spelling": "ZG",
                        "areaNumber": "",
                        "enName": "China",
                        "name": "中国",
                        "sort": "410",
                        "category": 1,
                        "seoUri": "china"

                    }
                }
            }
        }
    }
}
data = temp["data"]["data"]["country"]["list"]
for i in data:
    if i == "1":
        continue
    print(data[i]["code"], data[i]["name"])

你的数据删减的有问题,括号都少了,另外我把 version 的那个键值对给删了



想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-27 05:13:39 From FishC Mobile | 显示全部楼层
递归解析吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-27 10:01:16 | 显示全部楼层
正则
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-25 05:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表