json_repair

一键修复 LLM 输出的坏 JSON,解析不再报错

json_repair 是一个 Python 库,专门用于修复来自大语言模型(LLM)、API、日志或用户输入中的畸形 JSON 字符串。它解决了 AI 生成内容中常见的 JSON 格式错误问题,如缺少引号、多余逗号、截断、转义错误等,使得下游程序无需手动干预即可解析这些不完美的数据。核心能力包括:自动检测并修复多种常见的 JSON 语法错误,提供与标准 json.loads 兼容的接口,支持流式解析(针对不完整 JSON),并允许自定义修复策略。项目轻量、无外部依赖,易于集成到现有 Python 项目中,尤其适合需要处理 LLM 输出或非严格 JSON 数据的场景。

开源 free 开源模型
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 5104
维护状态 活跃
是否开源 是
定价模式 free

项目数据

分类开源模型
开发团队mangiucugna
所属国家
定价模式free
价格说明开源项目,MIT 许可证,完全免费,可自行部署使用。
访问状态
是否开源是
开源协议MIT
主要语言Python
技术栈/模型cli,json,json-repair,json-schema,llm,llm-output,malformed-json,parser,pydantic,python,streaming,structured-output
GitHub 星标★ 5104
30天Star增速
HF 下载量
上线时间2023-09-06 00:00:00
最近更新2026-09-22 00:00:00
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数4

使用教程

难度:入门 约 5 分钟 部署方式:库/依赖 4 步

环境要求

  • 已安装 Python 环境(README 未指明具体版本要求)
  • 已安装 pip 包管理工具
  • 可正常访问 PyPI 以安装 json-repair

安装与启动步骤

  1. 1安装 json-repair

    README 明确指出使用 pip 安装该库,这是集成到项目中的唯一安装方式。

    pip install json-repair
  2. 2运行官方示例验证

    把 README 的 Quick example 写成脚本运行,确认畸形 JSON 能被正确修复并打印出对象。

    cat > test_repair.py <<'EOF'
    import json_repair
    
    bad_json = '{"users":[{"name":"Ada","role":"admin",}],"ok":true'
    decoded_object = json_repair.loads(bad_json)
    print(decoded_object)
    EOF
    python test_repair.py
  3. 3替代 json.loads

    README 说明该库可完全替代 json.loads:直接 import json_repair 后调用 json_repair.loads(json_string) 即可。

  4. 4需要修复后字符串时

    若只想拿到修复后的 JSON 字符串,用 repair_json;要对象则加 return_objects=True,字符串损坏过重会返回空字符串。

关键配置

配置项必填说明示例
PYTHONANYWHERE_API_TOKEN否仅官方文档站同步到 PythonAnywhere 的 Actions 仓库密钥,普通用户无需配置your-pythonanywhere-api-token

如何确认成功

运行脚本后打印出 {'users': [{'name': 'Ada', 'role': 'admin'}], 'ok': True},说明修复与安装均成功。

常见问题

Q:修复后的返回值是空字符串怎么办?

A:README 说明如果字符串损坏得过于严重,repair_json 会返回空字符串,此时需要检查原始输入或改用 loads 取对象。

Q:它能直接替换 json.loads 吗?

A:可以,README 明确写到你完全可以用它替代 json.loads(),写法为 json_repair.loads(json_string)。

Q:想先在线确认能否修复我的 JSON?

A:README 提供了 Live demo(https://mangiucugna.github.io/json_repair/),可先在线验证再决定是否集成。

注意事项

  • README 未给出 Python 最低版本要求,安装前请确认本地 Python 与 pip 可用。
  • 文档站由 GitHub Pages 部署,PythonAnywhere 同步属于维护者流程,普通使用者无需关心。

核心亮点

  • 自动修复多种常见 JSON 错误(缺引号、多余逗号、截断等),无需手动正则
  • 提供 load 和 loads 接口,可直接替换标准 json 模块,迁移成本低
  • 支持流式解析不完整 JSON,适合处理流式 LLM 输出

不足之处

  • 复杂嵌套或严重损坏的 JSON 可能修复失败,需人工兜底
  • 文档/社区待观察

适用场景

  • 解析大语言模型生成的 JSON 响应
  • 处理 API 返回的不规范 JSON 数据
  • 清洗日志或用户输入中的半结构化文本

替代项目

json5、demjson3、json-fix

项目介绍

json_repair 是编程开发领域的开源项目,由 mangiucugna 开发,2023 年首次发布。

在全站 13,014 个收录项目中,它的 GitHub 星标数(5,104)位列前 9%,在编程开发分类的 490 个项目里位列前 11%。

近 41 天,它的 GitHub 星标从 5,070 增加到 5,104,净增 34。

项目目前处于活跃维护状态,最近一次代码更新于 2026-09-22。MIT 许可证,完全免费,可自行部署使用。

它主要面向的使用场景是:解析大语言模型生成的JSON响应。同类可对比的替代方案包括 json5、demjson3、json-fix。

上一篇:copilot

下一篇:lsp-ai

同类项目推荐

bolt.new 开源

想到啥说啥,网页应用当场生成直接能用

Prompt, run, edit, and deploy full-stack web applications. -- bolt.new -- Help Cente···

★ 16557 2026-08-09
fuzz4all 开源

用大模型自动生成测试输入,发现各种软件漏洞

️Fuzz4All: Universal Fuzzing with Large Language Models

★ 338 2026-08-09
superpowers-zh 开源

全套 AI 编程神技汉化好了,照着用就行。

AI 编程超能力 · 中文增强版 — superpowers(250k+ ⭐)完整汉化 + 4 个中国原创 skills···

★ 8188 2026-08-09
crystal 开源

多个 AI 同时写不同功能,互不干扰齐头并进。

(Crystal is now Nimbalyst) Run multiple Codex and Claude Code AI sessions in paralle···

★ 3121 2026-08-09