python - 如何使用 Python 将 Amazon Ion 文件转换为 JSON 格式?
问题描述
我想将 Amazon Ion 文件从 S3 存储桶转换为 JSON 格式。
我正在尝试以下代码
import json
import boto3
s3 = boto3.resource('s3')
bucket = s3.Bucket('some/path/')
ion_body = bucket.Object('xxxxxxxxxxxxxx.ion').get()['Body'].read().decode("utf-8")
json.loads(ion_body)
但我收到以下JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 3 (char 2)
错误。因为在 Ion 文件中,键是不带引号声明的。
亚马逊 Ion文档说我们可以将 Ion 下转换为 Json。但我没有任何办法。请帮我。谢谢!
解决方案
您可以使用 pyion2json
import json
import boto3
from pyion2json import ion_to_json
s3 = boto3.resource('s3')
bucket = s3.Bucket('some/path/')
ion_body = bucket.Object('xxxxxxxxxxxxxx.ion').get()['Body'].read().decode("utf-8")
print(ion_to_json(ion_body))