从响应解析时出现Python JSON类型错误
我对python了解不多,并发现了一个经过一些修改后可以满足我的目的的示例,目前正试图解析GET请求响应中的一些数据,我不断收到以下错误:从响应解析时出现Python JSON类型错误,python,json,google-admin-sdk,Python,Json,Google Admin Sdk,我对python了解不多,并发现了一个经过一些修改后可以满足我的目的的示例,目前正试图解析GET请求响应中的一些数据,我不断收到以下错误: "activity['parameters']['initValue'])) TypeError: list indices must be integers or slices, not strTypeError: list indices must be integers or slices, not str" JSON响应如下所示: {'kind':
"activity['parameters']['initValue']))
TypeError: list indices must be integers or slices, not strTypeError: list indices must be integers or slices, not str"
JSON响应如下所示:
{'kind': 'admin#reports#usageReports', 'etag': '"xxxxxxxxx/xxxxxxxxxxxx"', 'usageReports': [{'kind': 'admin#reports#usageReport', 'date': '2019-09-01', 'etag': '"xxxxxxxxx/xxxxxxxx"', 'entity': {'type': 'CUSTOMER', 'customerId': 'xxxxxxxx'}, 'parameters': [{'name': 'gmail:num_30day_active_users', 'intValue': '1234'}]}]}
Python代码:
result = service.customerUsageReports().get(date='2019-09-01', parameters='gmail:num_30day_active_users').execute()
results = result.get('usageReports', [])
if not results:
print('No data found.')
else:
print('Usage:')
for activity in results:
print(u'{0}: {1}'.format(activity['parameters'],
activity['parameters']['intValue']))
为了让它发挥作用,需要改变什么?
谢谢大家! 根据您提供的数据,
参数中的值是dict的列表
'parameters': [{'name': 'gmail:num_30day_active_users',
'intValue': '1234'}]}
所以您需要迭代列表中的所有项
result = service.customerUsageReports().get(date='2019-09-01', parameters='gmail:num_30day_active_users').execute()
results = result.get('usageReports', [])
if not results:
print('No data found.')
else:
print('Usage:')
for activity in results:
for line in activity['parameters']:
print(u'{0}: {1}'.format(activity['parameters'],
line['initValue']))
非常感谢@galaxyan!现在我得到了NameError:name'results'没有定义,这是为什么?@pyth0nnoOb同样的事情,你需要找到真正的键