首页 > 解决方案 > 如何使用 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。但我没有任何办法。请帮我。谢谢!

标签: pythonjsonpython-3.xamazon-s3amazon-ion

解决方案


您可以使用 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))

推荐阅读