Python 中合并多个 JSON 文件的技巧

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在Python中,我们经常需要处理多个JSON文件,并将它们合并成一个单一的JSON对象。本文将介绍如何使用Python来合并多个JSON文件,并展示相应的代码示例。

合并多个 JSON 的基本步骤

  1. 读取JSON文件:首先,我们需要读取每个JSON文件的内容。
  2. 解析JSON数据:将读取的字符串转换为Python的字典或列表。
  3. 合并数据:根据需要,将多个字典或列表合并。
  4. 输出结果:将合并后的数据输出为JSON格式。

代码示例

假设我们有两个JSON文件:data1.jsondata2.json,内容如下:

// data1.json
{
  "name": "Alice",
  "age": 25
}

// data2.json
{
  "name": "Bob",
  "age": 30
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.

我们的目标是将这两个文件合并为一个包含所有数据的列表。

import json

# 读取并解析JSON文件
def read_json_file(file_path):
    with open(file_path, 'r') as file:
        return json.load(file)

# 合并JSON数据
def merge_json_files(file_paths):
    merged_data = []
    for file_path in file_paths:
        data = read_json_file(file_path)
        merged_data.append(data)
    return merged_data

# 将合并后的数据输出为JSON
def write_json(data, file_path):
    with open(file_path, 'w') as file:
        json.dump(data, file, indent=4)

# 主程序
if __name__ == "__main__":
    file_paths = ['data1.json', 'data2.json']
    merged_data = merge_json_files(file_paths)
    write_json(merged_data, 'merged_data.json')
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.

序列图

以下是上述程序的执行流程的序列图:

WJ MJF RJF U WJ MJF RJF U WJ MJF RJF U WJ MJF RJF U 调用 read_json_file 读取 data1.json 返回 data1.json 数据 调用 read_json_file 读取 data2.json 返回 data2.json 数据 调用 write_json 输出合并后的数据 输出到 merged_data.json

状态图

以下是程序中JSON数据合并的状态图:

开始读取文件 解析 JSON 数据 合并数据 写入合并后的数据 结束 Reading Parsing Merging Writing

结语

通过上述步骤和代码示例,我们可以看到Python合并多个JSON文件是一个相对简单的过程。当然,实际应用中可能需要处理更复杂的数据结构和合并逻辑,但基本的方法是类似的。希望本文能帮助你更好地理解和掌握Python中处理JSON数据的技巧。