我正在使用python库来检索一些实时数据。当我输出结果时,存储在一个名为“nearest”的变量中,我得到了这个:
{'distance': 0.032766888603455446,
'station': {'id': 219,
'installDate': 1279545900000L,
'installed': True,
'lat': 51.49016361,
'locked': False,
'long': -0.19039362,
'name': u"Bramham Gardens, Earl's Court",
'nbBikes': 7,
'nbDocks': 29,
'nbEmptyDocks': 21,
'removalDate': None,
'temporary': False,
'terminalName': u'001183'}}
如何访问long
和lat
中存储的信息?
我试过了
json.decode(nearest)
json.parse(nearest)
和其他各种方法但无济于事。 我收到这个错误:
TypeError: 'JSONDecoder' object is not callable
我的目标是检索'lat'long'和'name'的值,并将它们存储在我的代码中其他地方使用的变量中。
答案 0 :(得分:0)
您需要使用适当的密钥访问字典中的项目(JSON对象):
data = {'distance': 0.032766888603455446,
'station': {'id': 219,
'installDate': 1279545900000L,
'installed': True,
'lat': 51.49016361,
'locked': False,
'long': -0.19039362,
'name': u"Bramham Gardens, Earl's Court",
'nbBikes': 7,
'nbDocks': 29,
'nbEmptyDocks': 21,
'removalDate': None,
'temporary': False,
'terminalName': u'001183'}}
latitude = data['station']['lat']
longitude = data['station']['long']
>>> print '({}, {})'.format(latitude, longitude)
(51.49016361, -0.19039362)
我在这里假设您已经成功地将JSON字符串解析为具有json.loads()
或类似的Python字典(或者可能是API将字典返回给您?)。就目前而言,由于使用单引号,您发布的JSON不是有效的JSON - 它应该是双引号,而name
的值具有Python unicode前缀。