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

Python将字典列表转JSON文件时缺失逗号方括号如何解决?

代码修改方案

你当前代码的问题出在遍历每个字典时,直接将单个字典的JSON字符串追加写入文件,JSON序列化单个字典不会自动补全数组外层的方括号,也不会在多个对象之间添加分隔逗号,自然不符合数组格式的JSON规范。

修改逻辑很简单:

  • 移除循环内部的逐行追加写入逻辑
  • 等所有字典都被收集到listadics列表后,直接将整个列表序列化写入文件即可,JSON模块会自动处理外层括号、对象分隔符等格式要求

修改后完整代码如下:

import re 
import json 

listadics = []
N=20
with open("processos.txt", "r") as fileoriginal:
    fileN = [next(fileoriginal) for x in range(N)]

for v in fileN: 
    lista = re.split(r'::|[ ]+[ ]+',v)
    dic = {}
    contador = 0 
    nome = 1 
    for elemento in lista: 
        if elemento != '\n' and elemento != '': 
            if contador == 0: 
                dic["numero processo"] = elemento
            elif contador == 1: 
                dic["data"] = elemento
            elif contador >= 2: 
                dic["nome(s)" + str(nome)] = elemento
                nome += 1
            contador += 1
    listadics.append(dic)

# 所有数据收集完成后一次性写入整个列表
with open("json.json", 'w') as file:
    json.dump(listadics, file, indent=4, sort_keys=False)

如果后续遇到数据量极大、无法将全量列表加载到内存的场景,可以手动控制写入格式:先写入开头的[,循环写入每个字典的JSON字符串时,除最后一个对象外末尾加,,最后写入结尾的]即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 05:15:06