You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python规范化合并同域名的JSON数据?

Python 合并JSON中同域名的统计数据

需求:将包含重复域名的统计条目合并,把同一域名的所有字段整合到单个字典中,实现JSON数据的规范化。

原始JSON:

{
    "total_stats": [
        {
            "domain": "domain.com",
            "uptime": "100"
        },
        {
            "domain": "domain.com",
            "threats": "345.01111783804436"
        }
    ]
}

期望结果:

{
    "total_stats": [
        {
            "domain": "domain.com",
            "uptime": "100",
            "threats": "345.01111783804436"
        }
    ]
}

实现代码

import json

# 加载原始JSON数据(从文件读取可改用json.load())
raw_data = '''
{
    "total_stats": [
        {
            "domain": "domain.com",
            "uptime": "100"
        },
        {
            "domain": "domain.com",
            "threats": "345.01111783804436"
        }
    ]
}
'''
data = json.loads(raw_data)

# 按域名分组合并字段
merged_dict = {}
for entry in data["total_stats"]:
    domain = entry["domain"]
    if domain not in merged_dict:
        merged_dict[domain] = {}
    merged_dict[domain].update(entry)

# 重构为目标格式
normalized_data = {
    "total_stats": list(merged_dict.values())
}

# 输出格式化后的JSON
print(json.dumps(normalized_data, indent=4))

# 保存到文件的写法
# with open("normalized_data.json", "w") as f:
#     json.dump(normalized_data, f, indent=4)

代码说明

  1. 数据加载:用json.loads()将JSON字符串转为Python字典;读取本地文件时替换为json.load()方法。
  2. 分组合并:以域名作为键构建临时字典,遍历所有统计条目,通过update()方法把同一域名的字段整合到同一字典中。
  3. 结构重构:将合并后的字典值转为列表,赋值给total_stats键,得到规范化结构。
  4. 输出保存:用json.dumps()格式化输出结果,或用json.dump()写入文件。

内容的提问来源于stack exchange,提问作者Rostyslav Malenko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 19:05:28