使用python解析json文件

时间:2017-09-21 19:28:27

标签: python json api

我正在使用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中实现这个功能?

2 个答案:

答案 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(可能你已经解析了它)。