我正在尝试从S3存储桶中读取 json 文件。
def getJSONObject(object):
content = object.get()['Body'].read()[1:-1]
content = '{' + content + '}'
data = json.loads(content)
return data
这会将我的Streaming Body转换为json内容,使用非常hacky的方式。我的输出格式如下。输出
print(data)
{u'DATE_TIME': u'2017/06/19 16:24:41',
u'S3_PATH': u'S3://hw-app-a5e2ccf910/DocumentProcessingVA/WPI1/WPE2043/EntityTaggingFinalOutput/c209201-1c04-49c3-ab4d-a7cc79d7f18d.json'}
但是当我尝试打印传递密钥的值时,我收到一个密钥错误
print(data["DATE_TIME"])
如果我通过遍历键然后打印在for循环中执行此操作,则打印值正常。即这样做
for info in data:
print(data[info])
有没有更好的方法来做到这一点,因为我有更大的JSON文件,并且当我应该能够使用密钥时,我希望每次都不执行for循环以获取数据的位。我不确定这是编码错误还是我定义函数来获取JSON数据的方式。
P.S尝试从Streaming Body输出加载为字符串无效