我在解析下面的JSON响应字典对象时遇到了问题,无法返回/打印“data”值(testing.test.com)。请参阅下面的字典:
[{'_id': '~1742209152', 'id': '~1742209152', 'createdBy': 'test@test.com',
'createdAt': 1666089754558, '_type': 'case_artifact', 'dataType': 'domain', 'data':
'testing.test.com', 'startDate': 1666089754558, 'tlp': 2, 'pap': 2, 'tags':
['Domain'], 'ioc': True, 'sighted': True, 'message': '', 'reports': {}, 'stats': {},
'ignoreSimilarity': False}]
每当我运行下面的代码试图解析数据时,就会显示一个错误'print(observables [' data '])TypeError:列表索引必须是整数或切片,而不是字符串':
observables = json.dumps(response) #getting JSON response dict which works fine
print(observables) #printing is successful
print(observables['data']) #issue is here
我意识到这个错误是建议我使用int而不是string,但是当我试图反转这个错误时,它不起作用,并且给我发送了无数的错误。有什么具体的方法来做到这一点吗?我对我的脚本编写能力不是太有信心,所以感谢任何提示!
附言-作为一个侧记,这个交互是由一个API和我的python文件发生的,但是由于我只是在JSON响应返回解析上有问题,我怀疑这有任何影响。
1条答案
按热度按时间zfciruhq1#
您的响应是
dict
对象的list
。请注意,第一个左括号是[
,而不是{
。您需要处理示例中的第一个(也是唯一的)对象,然后使用'data'键将其作为dict进行访问。
尝试
print(observables[0]['data'])