【发布时间】:2016-01-22 22:07:50
【问题描述】:
请查看下面从 API 获取的 JSON。
my_json =
{
"cities":[
{
"portland":[
{"more_info":[{"rank": "3", "games_played": "5"}
],
"team_name": "blazers"
},
{
"cleveland":[
{"more_info":[{"rank": "2", "games_played": "7"}
],
"team_name": "cavaliers"
}
]
}
我想从这个 my_json 创建一个新字典,其中“team_name”作为键,“rank”作为值。
像这样:{'Blazers': 3, 'Cavaliers': 2, 'Bulls': 7}
我不知道如何做到这一点...我可以返回一个城市列表,我可以返回一个排名列表,但它们最终是两个没有关系的单独列表,我不确定如何将两者联系起来。
任何帮助将不胜感激(如果这更容易,我也愿意将这些信息组织在一个列表中,而不是 dict)。
如果我运行这个:
results_dict = {}
cities = my_json.get('cities', [])
for x in cities:
for k,v in x.items():
print k, v
它返回:
team_name blazers
portland [{"rank": "3", "games_played": "5"}
team_name cavaliers
cavaliers [{"rank": "2", "games_played": "7"}
【问题讨论】:
-
第一个问题:您确定您的 JSON 有效吗?看起来不行(不是所有的括号都关闭了。
-
是的,这看起来不像是格式正确的 json。没有它,您将无法(轻松)将其读入 python
-
如果格式不正确,那是我自己尝试复制/粘贴的错误。 ACTUAL json 格式正确
-
你能用正确格式的 json 更新你的问题吗?
标签: python json dictionary