#json #repair #llm

bin+lib json_repair_rs

json repair library for rust

2 releases (1 stable)

new 1.1.1 Jan 23, 2025
0.1.0 Jan 23, 2025

#1 in #repair

Download history 185/week @ 2025-01-19

185 downloads per month

MIT license

59KB
1.5K SLoC

Python 714 SLoC // 0.0% comments Rust 609 SLoC // 0.2% comments

这个简单的包可用于修复无效的 json 字符串。要了解此包将工作的所有情况,请查看 单元测试.

动机

一些 LLM 在返回格式正确的 JSON 数据时有点不稳定,有时它们会跳过括号,有时它们在其中添加一些单词,因为这就是 LLM 的作用。 幸运的是,LLM 犯的错误很简单,可以在不破坏内容的情况下修复。

修复 JSON 中的语法错误

  • 缺少引号、逗号放错位置、未转义的字符和不完整的键值对。
  • 缺少引号、值格式不正确(true、false、null),并修复损坏的键值结构。

修复格式错误的 JSON 数组和对象

  • 通过添加必要的元素(例如逗号、括号)或默认值(null、“”)来显示不完整或损坏的数组/对象。
  • 该库可以处理包含额外非 JSON 字符(如注释或放置不当的字符)的 JSON,在保持有效结构的同时清理它们。

缺失的 JSON 值的自动补全

  • 使用合理的默认值(如空字符串或 null)自动填充 JSON 字段中的缺失值,确保有效性。

快速开始

Install the library with pip

`cargo add json_repair_rs `

then you can use use it in your code like this



use::json_repair_rs::*
let  good_json_string = repair_json(bad_json_string)
println!("{}", good_json_string); 

///  load file_json_string 
let file = "path/to/file.json" 
let json_string = from_file_repair_json(file) ;  
or   repair_and_save_to_file   (file ) ;  
/// 

Dependencies

~2.8–4MB
~84K SLoC