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

如何用Python动态生成含data数组的标准JSON文件?

解决方法

核心就是先把所有去重后的元素收集成一个列表,再整体包装成带data键的字典,最后一次性序列化写入文件——别再循环写单个JSON对象了,那必然生成非标准格式。

完整代码示例

import json

# 替换成你自己的900+元素列表
raw_items = [
    {"id": 1, "name": "张三"},
    {"id": 2, "name": "李四"},
    {"id": 1, "name": "张三"},  # 重复元素
    {"id": 3, "name": "王五"}
]

# 第一步:对字典列表去重
unique_items = []
seen = set()
for item in raw_items:
    # 将字典转为排序后的元组(确保内容相同的字典被判定为重复)
    item_key = tuple(sorted(item.items()))
    if item_key not in seen:
        seen.add(item_key)
        unique_items.append(item)

# 第二步:包装成标准JSON结构并写入文件
output = {"data": unique_items}
with open("result.json", "w", encoding="utf-8") as f:
    json.dump(output, f, indent=2, ensure_ascii=False)

效果说明

运行后生成的result.json是标准合法格式:

{
  "data": [
    {"id": 1, "name": "张三"},
    {"id": 2, "name": "李四"},
    {"id": 3, "name": "王五"}
  ]
}

关键细节

  • 去重用sorted(item.items())转元组:避免因为字典键的顺序不同(比如{"id":1,"name":"张三"}和{"name":"张三","id":1})被误判为不同元素。
  • 一次性写入整个字典:用json.dump直接序列化包含data数组的字典,确保生成的是符合规范的JSON结构,而非多个独立对象拼接。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 00:26:03