python - 将 JSON 数据列表输出到 JSON 数组并将其写入文件

标签 python json

我有一个包含一些数据的列表,已经以 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/

相关文章:

php - 来自 PHP 的带有数组字段的 SQL 查询

python - 如何制作一个用CFFI包裹的C-DLL来回调python

python - 在 python 中重新格式化字典输出

Python CV 检测不同类型的箭头

python - 如何在 n 秒后打印一些内容?

python - 使用单个元组调用 PyObject_CallMethod 会解压参数吗?

javascript - 按两个字段对 JSON 对象进行排序

json - 使用 Serde 将两种类型转换为一种类型

c# - JQuery 中的 JSON 格式问题

javascript - 将表提取为 JSON 对象