JSON修复工具(免费版)
本工具自动修复JSON文件中的常见语法错误,包括尾随逗号、单引号、未引号键名、注释、十六进制数字等,帮助开发者快速恢复JSON的可解析性.
概述
JSON标准较为严格,不支持尾随逗号、单引号、注释等宽松语法。然而实际开发中,手写JSON或从其他格式转换时常产生这些"宽松"错误,导致解析失败。本工具围绕"修复"场景,自动识别并修复5类常见错误,将宽松JSON转换为标准JSON.
核心能力
支持的修复类型
| 错误类型 | 示例 | 修复后 | 说明 |
|---|---|---|---|
| 尾随逗号 | {"a":1,} | {"a":1} | 移除对象/数组末尾多余逗号 |
| 单引号 | {'a':'b'} | {"a":"b"} | 单引号替换为双引号 |
| 未引号键名 | {key:"v"} | {"key":"v"} | 键名补全双引号 |
| JS注释 | //注释 或 /*注释*/ | (移除) | 移除JS风格注释 |
| 十六进制数字 | 0xFF | 255 | 十六进制转十进制 |
处理: 解析支持的修复类型的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回支持的修复类型的响应数据,包含状态码、结果和日志.
安全机制
- 备份机制:修复前自动创建
.bak备份文件 - 沙箱解析:使用vm沙箱(runInNewContext),隔离全局作用域
- 修复后验证:修复完成后验证JSON合法性,不合法则回滚
- 不执行代码:仅解析结构,不执行任何函数调用
处理: 解析安全机制的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回安全机制的响应数据,包含状态码、结果和日志.
修复报告
- 修复前文件大小
- 修复后文件大小
- 修复的错误类型与数量
- 是否成功(合法JSON)
处理: 解析修复报告的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回修复报告的响应数据,包含状态码、结果和日志. 能力覆盖范围:本skill的核心能力覆盖以下场景关键词:轻量级、JSON、修复工具、自动修复尾随逗号、单引号、未引号键名等常见、语法错误、修复工具免费版提、供常见、语法错误的自动修、复能力、帮助开发者快速修、复因手写或编辑器、问题导致的格式问、核心能力、修复尾随逗号、单引号转双引号、未引号键名补全、风格注释移除、十六进制数字转十、修复前自动备份、修复后验证合法性、沙箱化解析确保安、Use、when、需要代码生成、编程辅助、调试测试、开发部署时使用、不适用于无明确技、术栈的模糊需求等.
快速开始
- 确认运行环境满足依赖说明中的要求
- 在AI Agent对话中调用本技能,提供必要的输入参数
- 检查输出结果,根据需要进行后续处理
详细的输入输出格式请参考下方章节说明。
使用场景
| 场景 | 角色 | 价值 |
|---|---|---|
| 配置文件修复 | 运维工程师 | 修复手写配置的语法错误 |
| 日志数据修复 | 数据分析师 | 修复日志中的格式问题 |
| 手写JSON整理 | 开发者 | 将宽松写法转为标准JSON |
| 第三方数据清洗 | 数据工程师 | 修复外部数据源的格式问题 |
| 教学示例纠错 | 教师/学生 | 修复练习中的语法错误 |
| 迁移数据修复 | 数据库管理员 | 修复迁移过程中的格式损坏 |
使用流程
场景1:修复单个文件
向Agent发送指令:
用户可通过自然语言指令触发此场景,工具将自动执行相应操作并返回结构化结果.
输入格式
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| input | string | 是 | JSON修复工具免费版处理的输入数据或指令 |
| options | object | 否 | 附加配置选项,如模式选择、格式偏好等 |
| callback_url | string | 否 | 异步处理完成后的回调通知URL |
修复config/broken.json文件中的JSON语法错误.
Agent将:
- 读取文件内容
- 创建
.bak备份 - 识别并修复语法错误
- 验证修复后的JSON合法性
- 输出修复报告
场景2:修复并输出到新文件
node repair.js --file broken.json --out fixed.json
保留原文件,修复结果输出到fixed.json.
场景3:查看修复报告
{
"input_file": "broken.json",
"output_file": "broken.json",
"backup_file": "broken.json.bak",
"input_size": 256,
"output_size": 248,
"repairs": [
{"type": "trailing_comma", "count": 3},
{"type": "single_quote", "count": 5},
{"type": "unquoted_key", "count": 2}
],
"valid": true,
"success": true
}
示例
命令行参数
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
--file | string | - | 输入文件路径 |
--out | string | - | 输出文件路径(不指定则覆盖原文件) |
--no-backup | boolean | false | 不创建备份 |
--repair-level | string | safe | safe/aggressive |
修复级别说明
| 级别 | 行为 | 适用场景 |
|---|---|---|
safe | 仅修复明确的语法错误,保留语义 | 生产环境 |
aggressive | 尝试修复更多问题,可能改变语义 | 测试环境 |
错误类型识别
| 类型 | 正则模式 | 说明 |
|---|---|---|
trailing_comma | ,\s*[}\]] | 对象/数组末尾逗号 |
single_quote | '[^']*' | 单引号字符串 |
unquoted_key | \{([^"]+)\s*: | 未引号键名 |
js_comment | //.* 或 /*...*/ | JS风格注释 |
hex_number | 0x[0-9a-fA-F]+ | 十六进制数字 |
最佳实践
修复前备份
- 始终保留默认的备份机制(不使用
--no-backup) - 备份文件命名清晰(
.bak后缀) - 重要文件修复前额外创建版本快照
- 修复后校验备份完整性
修复策略选择
- 生产环境使用
safe模式,仅修复明确错误 - 测试环境可使用
aggressive模式,尝试更多修复 - 不确定时先
safe修复,再人工检查剩余错误 - 修复后必须验证JSON合法性
批量修复流程
- 先扫描识别所有错误文件(配合json-lint-tool)
- 按错误类型分类,分批修复
- 修复后重新校验,确保全部通过
- 失败文件人工介入
已知限制
- 本工具使用沙箱解析,不执行任意代码
- 修复操作不引入新的安全风险
- 备份文件可能含敏感数据,注意访问控制
- 修复报告不记录具体数据内容,仅记录错误类型
- 当前为免费版本,如需完整功能请升级到付费版获取全部能力
常见问题
Q1:修复后JSON仍不合法?
A:可能存在本工具不支持的错误类型(如未闭合括号、字符串内换行)。查看修复报告的valid字段,若为false,说明剩余错误需人工处理。专业版支持更多错误类型.
Q2:备份文件在哪?
A:备份文件与原文件同目录,名称为原文件名.bak。若使用了--no-backup参数,则不创建备份。建议始终保留备份机制.
Q3:单引号修复误伤了字符串内容?
A:本工具的单引号修复针对键名与字符串边界,不修改字符串内部的单引号。若字符串内部含单引号(如"It's ok"),不会被误改。若仍出现误伤,检查JSON结构是否规范.
Q4:注释移除后格式混乱?
A:注释移除可能留下空行或多余空格。修复后建议配合格式化工具(json-beautifier)重新整理缩进。本工具的修复后验证仅检查语法合法性,不保证格式美观.
Q5:十六进制数字修复后值变了?
A:十六进制数字(如0xFF)会被转为十进制(255),值本身不变。若JSON中本意是字符串"0xFF",应使用引号包裹。修复前检查数字字段是否需要保持字符串形式.
免费版限制
本免费体验版限制以下高级功能:
- 批量目录修复(递归扫描多个文件)
- 流式修复(大文件分块处理)
- 自定义修复规则与正则
- 修复预览(修复前对比)
- 增量修复(仅修复变更部分)
- 修复历史与回滚
解锁全部功能请使用专业版:json-repair-tool-pro
依赖说明
运行环境
- Agent平台: 支持SKILL.md的任意AI Agent(Claude Code / Cursor / Codex / Gemini CLI等)
- 操作系统: Windows / macOS / Linux
- Node.js: 14+(用于修复脚本与vm沙箱)
依赖详情
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| LLM API | API | 必需 | 由Agent平台内置LLM提供 |
| JSON解析器 | 运行时 | 必需 | Node.js内置JSON.parse |
| vm模块 | 运行时 | 必需 | Node.js内置vm(沙箱) |
| 文件系统 | 运行时 | 必需 | Node.js内置fs |
API Key 配置
- 本skill基于Markdown指令规范,无需额外API Key
- 所有修复在本地完成,不依赖外部服务
- 沙箱解析不执行网络请求,无数据外泄风险
可用性分类
- 分类: MD+EXEC(纯Markdown指令,修复功能需要exec命令行执行能力)
- 说明: 基于Markdown的AI Skill,通过自然语言指令驱动Agent执行JSON语法错误修复任务,修复脚本通过命令行执行
错误处理
| 错误场景 | 原因 | 处理方式 |
|---|---|---|
| 配置错误 | 参数缺失或格式错误 | 检查依赖说明中的配置要求 |
| 运行时错误 | 运行环境不满足 | 确认运行环境符合依赖说明 |
| 网络错误 | 连接超时或不可达 | 执行ping命令测试网络连通性,检查防火墙和代理设置连接后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令,参考国内替代方案 |
输出格式
{
"success": true,
"data": {
"result": "JSON修复工具免费版处理结果",
"execution_time": "0.5s",
"metadata": {
"version": "1.0",
"processor": "json repair"
}
},
"execution_log": ["解析输入参数", "执行核心处理", "格式化输出结果"],
"error": null
}
评论
加载中…