解析JSON响应以获取单个值

rsaldnfx  于 2022-11-19  发布在  其他
关注(0)|答案(1)|浏览(151)

我在解析下面的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响应返回解析上有问题,我怀疑这有任何影响。

zfciruhq

zfciruhq1#

您的响应是dict对象的list。请注意,第一个左括号是[,而不是{
您需要处理示例中的第一个(也是唯一的)对象,然后使用'data'键将其作为dict进行访问。
尝试print(observables[0]['data'])

相关问题