# json-repair-java
**Repository Path**: mud-consumption/json-repair-java
## Basic Information
- **Project Name**: json-repair-java
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-05-06
- **Last Updated**: 2026-05-06
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# json-repair-java
[json-repair](https://github.com/mangiucugna/json_repair) 的 Java 移植版本 —— 修复来自 LLM、API、日志和用户输入的格式错误的 JSON。
- 修复缺失的引号、逗号、括号、注释、多余文本以及截断的值
- 可作为 `ObjectMapper.readValue()` / 标准 JSON 解析的替代回退方案
- 支持基于 JSON Schema 的引导式修复与校验
- 提供 CLI 界面,支持文件/流处理
## 功能特性
| 修复类型 | 处理示例 |
|--------|-----------------|
| 缺失引号 | `{key: "value"}` → `{"key": "value"}` |
| 单引号 | `{'key': 'value'}` → `{"key": "value"}` |
| 缺失闭合括号 | `{"key": "value"` → `{"key": "value"}` |
| 尾随逗号 | `[1, 2, 3,]` → `[1, 2, 3]` |
| 缺失冒号 | `{"key" "value"}` → `{"key": "value"}` |
| 注释 | `#`、`//`、`/* */` 会被移除 |
| 截断的 JSON | `{"key": "value` → `{"key": "value"}` |
| 未加引号的布尔值/null | `{key: true, other: null}` |
| 代码块标记 | ````json\n{...}\n```` 会被解除包装 |
| 流式稳定性 | 针对流式部分 JSON 的确定性状态处理 |
| Schema 引导修复 | 填充默认值、类型转换、丢弃无效项 |
## 使用方式
### Maven
```xml
com.jsonrepair
json-repair-java
1.0.0
```
从源码构建:
```bash
git clone
cd json-repair-java
mvn package
```
### 基础修复
最简单的方式:
```java
import com.jsonrepair.JsonRepair;
// 类似于 json.loads() 的快捷方法,直接返回解析后的对象
Map, ?> obj = (Map, ?>) JsonRepair.loads("{'key': 'value'}");
```
如果需要更精细的控制,使用 `repairJson`:
```java
Object result = JsonRepair.repairJson(jsonStr, returnObjects, skipJsonLoads, logging, streamStable, strict);
```
6 个参数说明:
| 参数 | 类型 | 说明 |
|------|------|------|
| `jsonStr` | `String` | 要修复的 JSON 字符串 |
| `returnObjects` | `boolean` | `true` 返回解析后的 Java 对象(Map/List),`false` 返回修复后的 JSON 字符串 |
| `skipJsonLoads` | `boolean` | `true` 跳过初始的合法 JSON 校验,直接进入修复流程 |
| `logging` | `boolean` | `true` 同时返回修复日志(返回类型为 `List