将多个JSON对象转换为JSON数组

问题描述 投票:1回答:1

我已经从格式的数据源生成了一个JSON文件。 {}{}{} 我希望将此格式转换为逗号分隔的JSON数组。 [{},{},{}]。 最终目标是将JSON数据[{},{},{}]推送到MongoDB。我的pythoin解决方案(虽然天真)看起来像这样:

def CreateJSONArrayFile(filename):
 print('Opening file with JSON data')
 with open(filename) as data_file:
    raw_data = data_file.read()
    tweaked_data = raw_data.replace('}{', '}^|{')
 split_data = tweaked_data.split('^|')
 outfile = open('split_data.json', 'w')
 outfile.write('[')
 for item in split_data:
    outfile.write("%s," % item)
 outfile.write(']')
 print('split_data.json Created with JSON Array')

上面的代码给了我错误的结果。你能帮我优化解决方案吗?如果您需要我的更多详细信息,请告诉我。

json mongodb python-3.x
1个回答
0
投票

我和这个人在一起,但如果不是一个选择 - 我认为这可以让你得到你想要的东西。

myJson = """{"This": "is", "a": "test"} {"Of": "The", "Emergency":"Broadcast"}"""
myJson = myJson.replace("} {", "}###{")
new_list = myJson.split('###')
print(new_list)

收益率:

['{"This": "is", "a": "test"}', '{"Of": "The", "Emergency":"Broadcast"}']

不是说这是最优雅的方式:)

© www.soinside.com 2019 - 2024. All rights reserved.