鱼C论坛

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

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

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

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

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

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



  1. {
  2.     "flag": 1,
  3.     "data": {
  4.         "data": {
  5.             "country": {
  6.                 "list": {
  7.                     "1": {
  8.                         "enName": "hot country",
  9.                         "name": "热门国家"
  10.                     },
  11.                     "350": {
  12.                         "code": "350",
  13.                         "abroadFlag": "2",
  14.                         "level": "1",
  15.                         "spelling": "YZ",
  16.                         "cityLevel": 999,
  17.                         "areaNumber": "",
  18.                         "sort": "350",
  19.                         "seoUri": "asia",
  20.                         "pinyin": "YaZhou",
  21.                         "parentCode": "",
  22.                         "enName": "Asia",
  23.                         "name": "亚洲",
  24.                         "category": 0
  25.                     },
  26.                     "360": {
  27.                         "code": "360",
  28.                         "abroadFlag": "2",
  29.                         "level": "1",
  30.                         "spelling": "BMZ",
  31.                         "cityLevel": 999,
  32.                         "areaNumber": "",
  33.                         "sort": "360",
  34.                         "seoUri": "northamerica",
  35.                         "pinyin": "BeiMeiZhou",
  36.                         "parentCode": "",
  37.                         "enName": "NorthAmerica",
  38.                         "name": "北美洲",
  39.                         "category": 0
  40.                     },
  41.                     "370": {
  42.                         "code": "370",
  43.                         "abroadFlag": "2",
  44.                         "level": "1",
  45.                         "spelling": "NMZ",
  46.                         "cityLevel": 999,
  47.                         "areaNumber": "",
  48.                         "sort": "370",
  49.                         "seoUri": "southamerica",
  50.                         "pinyin": "NanMeiZhou",
  51.                         "parentCode": "",
  52.                         "enName": "SouthAmerica",
  53.                         "name": "南美洲",
  54.                         "category": 0
  55.                     },
  56.                     "380": {
  57.                         "code": "380",
  58.                         "abroadFlag": "2",
  59.                         "level": "1",
  60.                         "spelling": "DYZ",
  61.                         "cityLevel": 999,
  62.                         "areaNumber": "",
  63.                         "sort": "380",
  64.                         "seoUri": "oceania",
  65.                         "pinyin": "DaYangZhou",
  66.                         "parentCode": "",
  67.                         "enName": "Oceania",
  68.                         "name": "大洋洲",
  69.                         "category": 0
  70.                     },
  71.                     "390": {
  72.                         "code": "390",
  73.                         "abroadFlag": "2",
  74.                         "level": "1",
  75.                         "spelling": "OZ",
  76.                         "cityLevel": 999,
  77.                         "areaNumber": "",
  78.                         "sort": "390",
  79.                         "seoUri": "europe",
  80.                         "pinyin": "OuZhou",
  81.                         "parentCode": "",
  82.                         "enName": "Europe",
  83.                         "name": "欧洲",
  84.                         "category": 0
  85.                     },
  86.                     "400": {
  87.                         "code": "400",
  88.                         "abroadFlag": "2",
  89.                         "level": "1",
  90.                         "spelling": "FZ",
  91.                         "cityLevel": 999,
  92.                         "areaNumber": "",
  93.                         "sort": "400",
  94.                         "seoUri": "africa",
  95.                         "pinyin": "FeiZhou",
  96.                         "parentCode": "",
  97.                         "enName": "Africa",
  98.                         "name": "非洲",
  99.                         "category": 0
  100.                     },
  101.                     "410": {
  102.                         "code": "410",
  103.                         "pinyin": "ZhongGuo",
  104.                         "abroadFlag": "0",
  105.                         "level": "2",
  106.                         "parentCode": "350",
  107.                         "spelling": "ZG",
  108.                         "areaNumber": "",
  109.                         "enName": "China",
  110.                         "name": "中国",
  111.                         "sort": "410",
  112.                         "category": 1,
  113.                         "seoUri": "china"
  114.       
  115.         },
  116.         "version": 20220406
  117.     }
  118. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

应该是 json 数据,最简单粗暴直接一层层拨开 for 循环嘛,参考代码:

  1. temp = {
  2.     "flag": 1,
  3.     "data": {
  4.         "data": {
  5.             "country": {
  6.                 "list": {
  7.                     "1": {
  8.                         "enName": "hot country",
  9.                         "name": "热门国家"
  10.                     },
  11.                     "350": {
  12.                         "code": "350",
  13.                         "abroadFlag": "2",
  14.                         "level": "1",
  15.                         "spelling": "YZ",
  16.                         "cityLevel": 999,
  17.                         "areaNumber": "",
  18.                         "sort": "350",
  19.                         "seoUri": "asia",
  20.                         "pinyin": "YaZhou",
  21.                         "parentCode": "",
  22.                         "enName": "Asia",
  23.                         "name": "亚洲",
  24.                         "category": 0
  25.                     },
  26.                     "360": {
  27.                         "code": "360",
  28.                         "abroadFlag": "2",
  29.                         "level": "1",
  30.                         "spelling": "BMZ",
  31.                         "cityLevel": 999,
  32.                         "areaNumber": "",
  33.                         "sort": "360",
  34.                         "seoUri": "northamerica",
  35.                         "pinyin": "BeiMeiZhou",
  36.                         "parentCode": "",
  37.                         "enName": "NorthAmerica",
  38.                         "name": "北美洲",
  39.                         "category": 0
  40.                     },
  41.                     "370": {
  42.                         "code": "370",
  43.                         "abroadFlag": "2",
  44.                         "level": "1",
  45.                         "spelling": "NMZ",
  46.                         "cityLevel": 999,
  47.                         "areaNumber": "",
  48.                         "sort": "370",
  49.                         "seoUri": "southamerica",
  50.                         "pinyin": "NanMeiZhou",
  51.                         "parentCode": "",
  52.                         "enName": "SouthAmerica",
  53.                         "name": "南美洲",
  54.                         "category": 0
  55.                     },
  56.                     "380": {
  57.                         "code": "380",
  58.                         "abroadFlag": "2",
  59.                         "level": "1",
  60.                         "spelling": "DYZ",
  61.                         "cityLevel": 999,
  62.                         "areaNumber": "",
  63.                         "sort": "380",
  64.                         "seoUri": "oceania",
  65.                         "pinyin": "DaYangZhou",
  66.                         "parentCode": "",
  67.                         "enName": "Oceania",
  68.                         "name": "大洋洲",
  69.                         "category": 0
  70.                     },
  71.                     "390": {
  72.                         "code": "390",
  73.                         "abroadFlag": "2",
  74.                         "level": "1",
  75.                         "spelling": "OZ",
  76.                         "cityLevel": 999,
  77.                         "areaNumber": "",
  78.                         "sort": "390",
  79.                         "seoUri": "europe",
  80.                         "pinyin": "OuZhou",
  81.                         "parentCode": "",
  82.                         "enName": "Europe",
  83.                         "name": "欧洲",
  84.                         "category": 0
  85.                     },
  86.                     "400": {
  87.                         "code": "400",
  88.                         "abroadFlag": "2",
  89.                         "level": "1",
  90.                         "spelling": "FZ",
  91.                         "cityLevel": 999,
  92.                         "areaNumber": "",
  93.                         "sort": "400",
  94.                         "seoUri": "africa",
  95.                         "pinyin": "FeiZhou",
  96.                         "parentCode": "",
  97.                         "enName": "Africa",
  98.                         "name": "非洲",
  99.                         "category": 0
  100.                     },
  101.                     "410": {
  102.                         "code": "410",
  103.                         "pinyin": "ZhongGuo",
  104.                         "abroadFlag": "0",
  105.                         "level": "2",
  106.                         "parentCode": "350",
  107.                         "spelling": "ZG",
  108.                         "areaNumber": "",
  109.                         "enName": "China",
  110.                         "name": "中国",
  111.                         "sort": "410",
  112.                         "category": 1,
  113.                         "seoUri": "china"

  114.                     }
  115.                 }
  116.             }
  117.         }
  118.     }
  119. }
  120. data = temp["data"]["data"]["country"]["list"]
  121. for i in data:
  122.     if i == "1":
  123.         continue
  124.     print(data[i]["code"], data[i]["name"])
复制代码


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



小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-27 05:13:39 From FishC Mobile | 显示全部楼层
递归解析吧
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-27 10:01:16 | 显示全部楼层
正则
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-25 06:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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