JSON 格式化工具
粘贴、上传或直接编辑 JSON,DevKitLab 会在代码编辑器里实时解析、高亮和定位错误。合法 JSON 会在粘贴或上传时自动格式化;不规范片段可以尝试修复;还可以一键格式化、压缩、键名排序、转义为字符串、从字符串反转义、展开嵌套 JSON,并用折叠摘要、JSON Path、全屏模式和显示选项检查复杂 payload。所有处理都在浏览器本地完成,数据不会离开你的设备。
- 粘贴或上传合法 JSON 时自动格式化,直接得到 2 空格缩进的可读版本
- 实时解析并标出错误位置,点击错误状态即可跳转到对应行列
- 支持格式化、压缩、键名排序、转义、反转义、展开嵌套 JSON 和智能修复
- 对象和数组可折叠;折叠后显示 5 elements 或 10 keys,展开时界面保持干净
- 底部状态栏显示当前光标位置的 JSON Path,可一键复制字段路径
- 行号、折叠控制、自动换行、当前行高亮和全屏模式都可按需切换
- 完全本地处理:payload、token、配置和日志内容不会上传到服务器
功能简介
这个 JSON 工具不是简单的加缩进。它把编辑器、格式化、修复、折叠、路径定位、复制和文件处理放在同一个界面里,更适合调试 API、检查日志、整理配置和审查复杂 payload。
- 01
粘贴和上传时自动格式化
当你粘贴或上传的是合法 JSON,编辑器会自动转换成 2 空格缩进的格式化版本。普通文本、不完整片段或暂时无法解析的内容会保留原样,避免打断编辑。
- 02
实时解析与错误跳转
输入变化时会立即重新解析。有效时显示解析正常;失败时会显示行列位置,并在编辑器里标出错误附近内容。点击错误状态即可跳转到对应位置。
- 03
智能修复不规范 JSON
尝试修复会依次尝试严格 JSON、被转义的 JSON 字符串、Python 风格布尔值和 null、jsonrepair 修复等路径,适合处理日志、控制台输出和从代码里复制出的近似 JSON。
- 04
格式化、压缩与键名排序
格式化会把当前 JSON 重写为可读版本,压缩会变成单行,键名排序会递归排序对象键名,让 diff、review 和 fixture 更稳定。排序会改写编辑器文本,必要时请先保留原文。
- 05
字符串转义与反转义
转义会把当前 JSON 转成 JSON 字符串,适合放进日志、配置字段或代码字符串里。反转义会把 JSON 字符串还原成结构化 JSON,适合处理被二次编码的 payload。
- 06
展开嵌套 JSON 字符串
如果某个字段本身是 JSON 字符串,例如日志里的 payload: "{...}",可以用展开嵌套把这些字符串解析回对象或数组,减少一层层手动复制解析的步骤。
- 07
折叠摘要更接近 IDE 体验
展开状态下不会额外显示数量,保持代码区域干净。折叠数组时显示 5 elements,折叠对象时显示 10 keys,快速判断对象和数组规模。
- 08
JSON Path 状态栏
底部状态栏会显示当前光标所在位置的 JSON Path,例如 $.data.users[0].name。点击即可复制路径,方便写文档、定位字段或和后端沟通。
- 09
可配置的编辑器显示
显示选项里可以切换行号、折叠控制、自动换行和当前行高亮。大 payload 可以进入全屏模式,减少周围页面干扰。
- 10
完全本地,零上传处理
解析、格式化、修复、折叠、复制、上传文件读取和下载生成都在浏览器本地完成。生产响应、内部配置、token 和日志内容不会发送到服务器。
如何使用
常见流程是:粘贴或上传,检查解析状态,必要时修复,再格式化、折叠、复制或下载。
- 01
把 JSON、API 响应、Webhook、日志片段或配置文件粘贴进编辑器;也可以点击上传文件读取本地 JSON / 文本文件。
- 02
如果内容是合法 JSON,粘贴或上传后会自动格式化;如果不是合法 JSON,会保留原文并显示解析状态。
- 03
看到解析失败时,点击错误状态跳转到对应行列;如果内容来自日志、JS 控制台或 Python 风格输出,可以点击尝试修复。
- 04
使用格式化压缩键名排序整理结构;使用转义反转义展开嵌套处理字符串化或二次编码的 JSON。
- 05
处理大型 payload 时,先全部折叠,再按需展开对象和数组;折叠摘要会显示 elements / keys 数量。
- 06
查看底部 JSON Path,点击即可复制当前字段路径;需要更大空间时进入全屏。
- 07
最后按用途复制格式化版、复制压缩版,或点击下载保存为 JSON 文件。
功能说明
这些功能覆盖了 JSON 调试时最常见的几类问题:语法不合法、结构太深、字段难定位、数据被字符串化、需要稳定 diff、需要安全地处理敏感 payload。
- 粘贴合法 JSON 后自动格式化,不需要先点一次格式化。
- 上传 JSON 文件后自动尝试格式化;解析失败时保留原始文本,方便继续修复。
- 实时显示解析状态,错误时给出行列位置并支持点击跳转。
- 可以把格式化 JSON 压缩成单行,适合请求体、环境变量、日志字段或 fixture。
- 递归排序对象键名,让接口响应、配置文件和测试数据的 diff 更稳定。
- 可以把 JSON 转成带转义字符的字符串,也可以把被转义的 JSON 字符串反解析回来。
- 可以自动展开嵌套 JSON 字符串,处理日志系统或消息队列里常见的二次编码 payload。
- 折叠数组时显示元素数量,折叠对象时显示键数量;展开时不显示额外 badge,减少视觉噪音。
- 底部显示当前行列、JSON Path、解析状态和字符数,检查大型结构时不容易迷路。
- 行号、折叠控制、自动换行、当前行高亮可按需开关。
- 可以全屏检查深层 payload,也可以下载当前格式化后的内容。
适合哪些场景
这个页面适合所有我拿到一段 JSON,需要快速看懂、修好、整理、复制出去的场景。
-
API 响应调试
粘贴 REST、GraphQL 或 RPC 响应,格式化后折叠无关分支,定位字段是否缺失、为 null、类型不对或层级多包了一层。
-
Webhook 与事件 payload 检查
检查 Stripe、GitHub、Slack、支付系统或埋点平台传来的事件,快速确认 event type、id、timestamp、signature 相关字段和业务 payload。
-
日志里的 JSON 片段还原
把日志中的 JSON 字符串、转义 payload 或近似 JSON 片段粘贴进来,用反转义、展开嵌套和尝试修复把它恢复成可读结构。
-
配置文件整理
整理 tsconfig、package.json、eslint 配置、feature flags、CDN 规则和应用配置,格式化后更容易 review,排序后更容易 diff。
-
请求体准备
在 Postman、curl、fetch 或测试脚本之前,先在这里编辑请求 body,实时确认 JSON 语法有效,再复制压缩版或格式化版。
-
AI 工具调用和 prompt fixture
检查模型 tool call 参数、Agent 中间状态或 prompt fixture,避免一个多余逗号、少写括号或被转义的字段导致自动化流程失败。
-
JWT / Base64 payload 检查后的二次整理
把从 JWT、Base64 或其他工具解码出的 JSON 粘贴进来,继续格式化、折叠、复制路径或整理字段顺序。
-
测试 fixture 和种子数据
把导出的样例数据整理成稳定排序、缩进一致的 JSON,再提交到 fixtures、Storybook、mock server 或文档中。
-
事故响应与复盘
在不上传第三方网站的前提下,把生产响应、错误上下文和日志 payload 整理成可读版本,方便写工单和复盘。
延伸阅读
JSON 解析通过后,下一步通常是转换格式。可以把它交给 JSON 转换器 ,转换成 YAML、XML、CSV、TOML、JS 对象语法或 PHP 数组,并使用对应格式的选项。如果数据已经是行列结构,可以继续使用 CSV 工具 进行分隔符识别、表格预览、列名修改,以及 CSV / TSV / JSON / Markdown 导出。如果 JSON 被包在日志前缀或重复文本里,可以先用 文本替换 去掉外层文本,再回到这里校验清理后的 JSON。如果这些 JSON 字段来自 SQL 查询结果,或者日志里同时带着源查询,可以把 SQL 交给 SQL 格式化 重新缩进、定位语法问题,再回到这里检查 JSON 结构。如果你手上有两个版本的 JSON、想直接看清差异,可以把它们交给 JSON 差异对比 进行 git 风格的并排或行内 diff,按 JSON Path 列出新增、删除和修改,长字符串还会展开词级差异。如果格式化后想按路径提取字段、测试 JSONPath 表达式或运行 jq 过滤器,可以继续用 JSONPath 与 jq 查询 直接查询这份 JSON。
需要记住的 JSON 规则
很多解析失败不是工具问题,而是输入不是严格 JSON。下面这些差异最常见,也最容易出现在日志、控制台输出和配置片段里。
-
键名必须使用双引号
标准 JSON 要求键名写成 {"name": "Alice"}。{name: "Alice"} 是 JavaScript 对象字面量,不是严格 JSON;可以手动修正,也可以试试尝试修复。
-
字符串只能使用双引号
JSON 不接受单引号字符串。{"name": "Alice"} 有效,{'name': 'Alice'} 不是严格 JSON。日志和 Python / JS 输出里经常会出现这种情况。
-
不能有尾随逗号
对象或数组最后一项后面不能多一个逗号。很多代码格式化器允许 JS 里有尾随逗号,但严格 JSON 解析器会报错。
-
标准 JSON 没有注释
// 和 /* */ 属于 JSONC、JSON5 或 JavaScript 语法,不属于标准 JSON。某些编辑器能接受,不代表接口和解析器也能接受。
-
JSON 只有六种值类型
JSON 值只能是 object、array、string、number、boolean 或 null。undefined、函数、Date、NaN 都不是 JSON 值。
-
格式化不改变结构,排序会改变文本顺序
格式化和压缩只改变空白字符,不改变数据结构。键名排序会重排对象键的文本顺序,适合 diff,但如果需要保留原始顺序,排序前请先保存原文。
使用建议
JSON 越大、层级越深,越需要固定的检查习惯。下面这些做法能减少误判和重复操作。
- 粘贴后先看解析状态。合法 JSON 会自动格式化;如果解析失败,先点击错误状态跳到具体位置。
- 从日志、控制台或后端异常里复制出来的内容,优先试试尝试修复和反转义。这些内容常常不是严格 JSON。
- 遇到字符串字段里包着 JSON 的情况,使用展开嵌套,不要手动复制字段值再开一个工具反复解析。
- 处理大 payload 时,先全部折叠,再按 JSON Path 或字段名逐步展开。折叠摘要能帮你快速判断对象或数组规模。
- 做 diff 或提交 fixture 前,先格式化并视情况排序键名,这样之后的变更更稳定、更容易审查。
- 准备 HTTP body、环境变量、消息队列内容或单行日志字段时,用复制压缩版;写文档、工单、复盘时,用复制格式化版。
- 处理生产数据前先脱敏。工具本身不上传数据,但你复制到工单、聊天、文档或录屏里的内容可能会被分享出去。
边界与注意事项
这个工具负责 JSON 的语法、结构和展示,不替代 schema 校验、业务校验、diff 工具或数据转换管道。
- 它会校验 JSON 语法,但不会判断字段是否符合业务规则。必填字段、枚举值、范围限制和跨字段约束仍然需要 Zod、Ajv、OpenAPI 或后端校验器。
- 它不是完整 JSON5 / JSONC 编辑器。尝试修复能覆盖常见粘贴问题,但不保证完整支持所有扩展语法。
- 它不是 JSON diff 工具。键名排序可以让 diff 更稳定,但真正的并排差异比较仍然应该交给专门的 diff 工具。
- 它不会自动修改字段值的业务含义。重命名键、批量改类型、删除字段或映射结构,更适合使用转换器、脚本或文本替换工具。
- 几十 MB 的超大 payload 可能会拖慢浏览器。建议先截取相关子树,或使用命令行、流式处理工具分析。
- 所有处理在本地完成,但本地安全仍取决于你的设备、浏览器扩展、共享屏幕和复制目标。
常见问题
这里整理了关于自动格式化、智能修复、折叠摘要、JSON Path、隐私和大型 payload 的常见问题。
我的 JSON 会上传到服务器吗?
不会。解析、格式化、压缩、修复、折叠、上传文件读取、复制和下载都在当前浏览器标签页内完成。DevKitLab 不会把你的 payload 发送到服务器。
为什么我一粘贴就被格式化了?
如果粘贴内容是合法 JSON,编辑器会自动格式化成 2 空格缩进,方便立即阅读。如果粘贴内容不是合法 JSON,它会保留原样,避免误改正在输入的片段。
尝试修复会做什么?
它会尝试多种解析方式,包括严格 JSON、被转义的 JSON 字符串、Python 风格的 True / False / None、jsonrepair 修复,以及组合修复。成功后会把结果重新格式化写回编辑器。
为什么看起来像 JSON,却仍然解析失败?
常见原因包括键名没加双引号、字符串用了单引号、尾随逗号、包含注释、括号不完整,或者输入其实是 JSON 字符串而不是 JSON 对象。可以尝试修复或反转义。
格式化和压缩会改变数据吗?
不会。格式化和压缩只改变空格、缩进和换行,不改变 JSON 结构。键名排序则会改变对象键的文本顺序,但不改变对应值。
什么时候用转义,什么时候用反转义?
当你需要把 JSON 放进另一个 JSON 字段、日志字符串或代码字符串里时,用转义。当你拿到的是 "{\"a\":1}" 这类字符串化 JSON 时,用反转义还原成对象。
展开嵌套适合什么场景?
它适合处理字段值本身又是一段 JSON 字符串的情况,例如日志里的 payload、消息队列里的 body、Webhook 里的嵌套参数。它会递归尝试把对象或数组字符串展开成真实结构。
折叠后的 elements 和 keys 是什么意思?
折叠数组时会显示元素数量,例如 5 elements。折叠对象时会显示键数量,例如 10 keys。展开状态下不会额外显示这些数量,避免代码区域拥挤。
JSON Path 有什么用?
JSON Path 可以准确描述当前光标所在字段的位置,例如 $.data.users[0].email。复制它可以用于工单、文档、日志说明、接口沟通或测试断言。
键名排序会不会破坏原始顺序?
会重写编辑器里的对象键顺序。它适合让 diff 更稳定、让配置更规整;如果你需要保留原始顺序,请排序前先复制一份原文。
它能处理很大的 JSON 文件吗?
日常 API 响应、Webhook、配置文件和几 MB 的 payload 通常没问题。几十 MB 的内容可能会拖慢浏览器,建议先截取相关子树或使用命令行工具处理。
支持 JSONC、JSON5 或 NDJSON 吗?
编辑器按严格 JSON 校验。JSONC、JSON5 和 NDJSON 不是原生格式;其中一部分常见 JSON5 / JSONC 风格问题可以通过尝试修复处理,NDJSON 则建议先拆分成单条 JSON。
有全屏快捷键吗?
有。当查看器获得焦点,或鼠标悬停在查看器上时,按 F 可以在窗口模式和全屏模式之间切换。
更多相关工具
可以继续在数据工具集合里完成 JSON 工作流:转换成其他格式、处理 CSV 表格,或清理 payload 外层的文本包装。