2 个不稳定版本
0.2.0-dev | 2023 年 5 月 5 日 |
---|---|
0.1.0 | 2023 年 5 月 5 日 |
#14 in #streaming-json
170KB
149 行
流式 JSON 完整器
流式 JSON 完整器是一个 Rust 库,可以帮助您通过自动添加缺失的关闭字符(引号、花括号和括号)来补充不完整的 JSON 字符串。这在处理流式 JSON 数据或与部分 JSON 字符串一起工作时非常有用,需要确保 JSON 对进一步处理是有效的。
特性
- 自动补充不完整的 JSON 字符串
- 处理嵌套对象和数组
- 处理字符串中的转义字符
- 对于格式错误的 JSON 输入返回错误
- 即将推出 为 JavaScript 和 Python 发布包装器
安装
将以下行添加到 Cargo.toml 文件的 [dependencies] 部分
json-completer = "0.1.0"
用法
以下是一个基本示例,展示了如何使用 JSON 完整器库
use json_completer::complete_json;
fn main() {
let input = r#"{"key": "value", "arr": [1, 2, {"nested_key": "nested_value""#;
match complete_json(input) {
Ok(completion) => println!("The missing closing characters are: {}", completion),
Err(e) => println!("Error: {}", e),
}
}
有关更多示例和高级用法,请参阅示例目录。特别是,OpenAI 流解析 示例展示了如何使用 JSON 完整器解析来自 OpenAI API 的 JSON 数据流(使用 64bit 的 async-openai 库)。
运行测试
要运行 JSON 完整器的测试套件,只需运行
cargo test
这将执行一系列测试,包括嵌套对象和数组、转义引号以及格式错误的 JSON 字符串等不同场景。
贡献
我们欢迎贡献!如果您想做出贡献,请按照以下步骤操作
- 在 GitHub 上派生存储库
- 为您的功能或错误修复创建一个新分支
- 提交您的更改并将分支推送到您的派生
- 对主存储库创建拉取请求
请确保您的代码遵循 Rust 的最佳实践,并为任何新功能或错误修复包含测试。
许可证
本项目采用 MIT 许可证。
依赖项
~9–20MB
~259K SLoC