[英]How to get a nested response data from json python
我打电话给 API,这是我的 JSON 响应:
{'data': [{
'id': 'd-1225959',
'startTime': '2022-12-30T00:00:00.000Z',
'endTime': '2022-12-30T23:59:00.000Z',
'checkedInAt': None,
'checkedOutAt': None,
'status': 'PENDING',
'space': {
'id': 'd-4063963',
'name': '082',
'type': 'DESK',
'createdAt': '2021-07-06T11:48:57.000Z',
'updatedAt': '2021-07-06T11:48:57.000Z',
'isAvailable': False,
'assignedTo': None,
'locationId': '133778',
'floorId': '41681',
'floorName': 'Car Park',
'neighborhoodId': '92267',
'neighborhoodName': 'NEI1'}}
如果我执行嵌套的 python 循环,我正在努力提取'space'
'id'
和'name'
,因此它只返回'id'
和'name'
等标题,而不是其中包含的值。
for order in response['data']:
print(order['id'])
print(order['startTime'])
print(order['endTime'])
print(order['checkedInAt'])
print(order['checkedOutAt'])
print(order['status'])
print(order['space'])
for doc in response['space']:
print(doc['id'], doc['name'])
对此的任何帮助将不胜感激!
for doc in response['space']:
将遍历response['space']
dict 中的键,即doc
将是str
。
你想做doc = response['space']
而不是print(doc['id'])
。 或直接print(response['space']['id'])
。
请注意,您可能希望使用dict.get()
方法来避免KeyError
。
# if response dict has no 'space' key, return empty dict.
# if no 'id' key - return None
space_id = response.get('space', {}).get('id')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.