我在python中解析一个巨大的JSON,我正在逐步解析它,我陷入困境,我无法弄清楚为什么代码运行不正常,我的代码是; 我希望得到数组中所有 attr 的所有 WHO_REGION 的价值,因为我不是python编程的专家......这里是JSON, “http://apps.who.int/gho/athena/data/COUNTRY.json”
import json
from pprint import pprint
mylabel = []
mylabel2 = []
with open('C:\Users\Syed Saad Ahmed\Desktop\FL\COUNTRY.json') as data_file:
data = json.load(data_file)
for i in range(0,246):
mylabel.append(data["dimension"][0]["code"][i]["label"])
print mylabel
for j in range(0,246):
for k in range(0,21):
if(data["dimension"][0]["code"][j]["attr"][k]["category"]=='WHO_REGION'):
mylabel2.append(data["dimension"][0]["code"][j]["attr"][k]["value"])
print mylabel2
答案 0 :(得分:1)
您可以使用嵌套循环浏览JSON对象:
import json
obj = json.loads(data)
dimention_list = obj["dimension"]
for dimension in dimention_list:
code_list = dimension["code"]
for code in code_list:
attr_list = code["attr"]
for attr in attr_list:
if attr["category"] == "WHO_REGION":
print(attr["value"])
这很复杂,因为每个条目都包含一些内容......
当然,您需要添加一些过滤功能。