访问json值

2024-09-28 03:24:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我以这种方式加载了以下json:

url2 = "https://gbfs.capitalbikeshare.com/gbfs/en/station_status.json"
response2 = urllib2.urlopen(url2)
cabi_station_status = json.load(response2)

cabi\U站\U状态输出示例:

{u'stations': [{u'eightd_has_available_keys': False,
   u'is_installed': 1,
   u'is_renting': 1,
   u'is_returning': 1,
   u'last_reported': 1489309320,
   u'num_bikes_available': 5,
   u'num_bikes_disabled': 0,
   u'num_docks_available': 10,
   u'num_docks_disabled': 0,
   u'station_id': u'1'},
  {u'eightd_has_available_keys': False,
   u'is_installed': 1,
   u'is_renting': 1,
   u'is_returning': 1,
   u'last_reported': 1489309256,
   u'num_bikes_available': 5,
   u'num_bikes_disabled': 0,
   u'num_docks_available': 6,
   u'num_docks_disabled': 0,
   u'station_id': u'2'}

我不知道如何访问某些站点的“num\u bikes\u available”值。当我尝试cabi_station_status["stations"]["station_id"][1]

它不返回任何东西。我理想输出的伪代码是当“station\u id”==1时获得“num\u bikes”available。并返回一个整数,在本例中为5。你知道吗


Tags: idjsonisstatusnumavailablestationstations
3条回答
for station in cabi_station_status['stations']:
    if station['station_id'] == '1':
        print(station['num_bikes_available'])

cabi_station_status["stations"]是一个列表;您需要按索引而不是键引用它的元素。你知道吗

cabi_station_status["stations"][0]["num_bikes_available"]

cabi_station_status["stations"]是一个列表。你知道吗

您应该使用循环来迭代每个站,并从每个站获取num_bikes_available。你知道吗

each_station['num_bikes_available']

您的解决方案如下所示:

for each_station in cabi_station_status["stations"]:
    if each_station['station_id'] == '1':
        return each_station['num_bikes_available']

相关问题 更多 >

    热门问题