我有一个包含一些数据的列表,已经以 JSON 序列化:
>>> import json
>>> a = []
>>> a.append(json.dumps({"key1":"value1"}))
>>> a.append(json.dumps({"key2":"value2"}))
>>> a
['{"key1": "value1"}', '{"key2": "value2"}']
如何将此列表转换为 JSON 数组并将其输出到以下格式的文件中:
[
{
"key1": "value1"
},
{
"key2": "value2"
}
]
以下内容不起作用,因为每个列表元素都已在 JSON 中序列化。
with open('test_output.json', 'w') as outfile:
json.dumps(a, outfile)
最佳答案
要将 json 字符串列表转换为 json 对象列表,您可以使用几个选项将 json.loads
应用于数组中的每个元素。图表 A,列表理解:
parsed_data = [json.loads(s) for s in a]
附件 B,map
:
parsed_data = map(json.loads, a)
或者,使用map
创建列表
:
parsed_data = list(map(json.loads, a))
编辑:要将这个新的数据结构输出为所需的格式,您可以执行以下操作:
with open('output.json', 'w') as fs:
json.dump(parsed_data, fs, indent=4)
关于python - 将 JSON 数据列表输出到 JSON 数组并将其写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55008583/