我正在使用OpenWeatherMap API构建一个松散的机器人功能,用户可以在其中输入城市的名称,并显示当前的天气预报。
但API使用唯一的城市ID来匹配相应的城市名称,即json对象。
json文件的某些行是这样的 -
[
{
"id": 707860,
"name": "Hurzuf",
"country": "UA",
"coord": {
"lon": 34.283333,
"lat": 44.549999
}
},
{
"id": 519188,
"name": "Novinki",
"country": "RU",
"coord": {
"lon": 37.666668,
"lat": 55.683334
}
},
]
我希望将用户输入的城市名称与其对应的城市ID相匹配,方法是搜索json文件并匹配正确的城市名称并获取相应的城市ID,这将在API调用中发送,具体取决于要处理的API。
如何在python中实现这个功能?
答案 0 :(得分:0)
尝试这是否有帮助:
jsonobject = [
{
"id": 707860,
"name": "Hurzuf",
"country": "UA",
"coord": {
"lon": 34.283333,
"lat": 44.549999
}
},
{
"id": 519188,
"name": "Novinki",
"country": "RU",
"coord": {
"lon": 37.666668,
"lat": 55.683334
}
},
]
for elem in jsonobject:
print (elem['id'])
输出:
707860
519188
答案 1 :(得分:0)
以下是我的解决方案版本:
city_name = 'Novinki'
for city in jsonobject:
if city['name'] == city_name:
print(city['id'])
我相信你的例子中有字典而不是json(可能你已经解析了它)。