【发布时间】:2018-11-20 07:06:39
【问题描述】:
我编写了 2 个函数,因此我可以在知道冠军名称的情况下获得冠军 ID,但后来我想在知道冠军 ID 的情况下获得冠军名称,但由于数据的结构,我无法弄清楚如何提取名称。
"data":{"Aatrox":{"version":"8.23.1","id":"Aatrox","key":"266","name":"Aatrox"
所以在我的代码中我写了['data']['championName'(in this case Aatrox)]['key'] 来获取冠军ID/密钥。但是,例如,如果我不知道冠军名称但冠军 ID,我该如何扭转它。如果在写完 ['data'] 之后我需要写下冠军名称,我如何获得冠军名称,这样我才能更深入地获取所有冠军信息,例如 ID、头衔等。
链接:http://ddragon.leagueoflegends.com/cdn/8.23.1/data/en_US/champion.json
代码:
def requestChampionData(championName):
name = championName.lower()
name = name.title()
URL = "http://ddragon.leagueoflegends.com/cdn/8.23.1/data/en_US/champion/" + name + ".json"
response = requests.get(URL)
return response.json()
def championID(championName):
championData = requestChampionData(championName)
championID = str(championData['data'][championName]['key'])
return championID
【问题讨论】:
-
在数据库中复制数据(包括 JSON)很少(例如,从不)是个好主意。我建议重组您的 JSON,以便冠军名称与其余数据位于最里面的块中。这将满足访问数据的两种(和其他)方法。
标签: python json python-3.x python-requests