【发布时间】:2017-04-21 02:03:08
【问题描述】:
我一直在 S3 存储桶“测试”中关注 JSON
{
'Details' : "Something"
}
我正在使用以下代码读取此 JSON 并打印密钥“详细信息”
s3 = boto3.resource('s3',
aws_access_key_id=<access_key>,
aws_secret_access_key=<secret_key>
)
content_object = s3.Object('test', 'sample_json.txt')
file_content = content_object.get()['Body'].read().decode('utf-8')
json_content = json.loads(repr(file_content))
print(json_content['Details'])
我收到错误,因为 '字符串索引必须是整数' 我不想从 S3 下载文件然后阅读..
【问题讨论】:
-
删除
repr。 -
@AlexHall 最初我尝试删除
repr,但它没有用,它给出了 ValueError: Expecting property name included in double quotes -
我解决了这个问题.. JSON 应该有用双引号括起来的属性.. 我改变了我的 json 格式
-
您在哪一行出现错误?把那条线分开。
file_content = content_object...是一行 4 步。现在,将其分成 4 个单独的行,其中包含 4 个中间变量。然后看看哪一行失败。 -
我的问题只需要 '.read().decode('utf-8')' 所以谢谢你的提问 (-;
标签: python json amazon-web-services amazon-s3 boto3