跳到工具区
数据与格式

JSON 格式化与校验

在线格式化、美化、校验和压缩 JSON,精确定位语法错误,并查看树形结构或运行 JSONPath 查询。

Web Worker 仅本地处理工具
输入0 个字符
结果0 个字符
就绪

先看懂结构,再调整缩进

JSON 格式化在线工具 — 校验、压缩与 JSONPath 查询

格式化能让合法 JSON 更好读,却不能证明有语法错误的内容可信。DevSexy 将排版和校验分开处理,并明确标出解析在哪一行、哪一列中断。

原始 JSON

{"user":{"id":17,"roles":["editor"]}}

解析结果

对象 · 1 个根级键 · 2 个嵌套值

节点路径

$.user.roles[0] → “editor”

从原始 JSON 到可定位的树形结构

错误定位

行号和列号只是线索,真正的错误往往出现在前一个字符。

漏写逗号或引号时,解析器可能到下一个字段才确认语法无法继续。诊断结果会把原始报错、字符偏移、行列位置和附近源码放在一起,方便你修复真正出错的边界。

第 4 行第 3 列:出现了意外的字符串
2  "name": "Mole"
3  "active": true
4  "roles": ["admin"]
   ▲ 此字段前缺少逗号

排版选项改变代码差异,不改变数据

缩进方式

2 空格更紧凑,4 空格更便于逐层查看,Tab 则适合遵循编辑器设置;三者都会保留解析后的值。

键名顺序

按键名排序能让测试数据和快照更稳定,但也可能打乱人工编写配置时的阅读顺序,因此默认不启用。

JSON 压缩

压缩只移除不影响语义的空格、缩进和换行,不会压缩字符串、重命名键名,也不会降低数字精度。

标准 JSON 不等于 JSONC

注释、尾随逗号、未加引号的键、NaN 和 Infinity 常见于 JavaScript 相关配置,却不属于 RFC 定义的标准 JSON。应先明确诊断,不要把另一种语法悄悄改写成 JSON。

✓ 标准 JSON:字符串、数字、布尔值、null、数组和对象

× JSONC 扩展:注释和尾随逗号

先通过 JSON 校验,再运行 JSONPath 查询

对语法错误的文档执行查询,结果很容易产生误导。先完成校验并查看树形结构,再从可见节点中复制准确路径。

$[0].id$.users[*].email$..status

JSON 格式化常见问题

格式化会改变 JSON 的值吗?
不会。除非你主动开启键名排序,否则格式化只调整不影响语义的空格、缩进和换行。
可以格式化大型 JSON 文件吗?
可以。处理任务会交给 Web Worker,避免页面卡顿;工具会根据内容量自适应处理,而不是设置任意的字符数上限。
为什么报错位置在真正错误的后面?
解析器通常会报告语法已经无法继续的位置,因此漏写逗号、引号或括号时,报错可能出现在紧随其后的字符。
JSONPath 和 JSON Pointer 是一回事吗?
不是。JSONPath 用查询表达式选择一个或多个值;JSON Pointer 则用斜杠分隔的引用标记指向一个确定位置。

直接回答

什么是 JSON 格式化与校验?

在线格式化、校验和压缩 JSON,按行列定位语法错误,查看树形结构并测试 JSONPath。数据仅在浏览器本地处理,无需上传。

它能做什么?

  • 格式化
  • 校验
  • 压缩
  • 树形视图

如何使用 JSON 格式化与校验

  1. 01

    选择任务

    在工作区选择格式化、校验、压缩和树形视图。

  2. 02

    提供输入

    {"name":"DevSexy","enabled":true}。内容始终留在浏览器的本地处理流程中。

  3. 03

    检查结果

    运行工具,检查结果和诊断信息;页面提供复制或下载时,可以直接导出。

常见问题

JSON 格式化与校验是什么?
在线格式化、校验和压缩 JSON,按行列定位语法错误,查看树形结构并测试 JSONPath。数据仅在浏览器本地处理,无需上传。
JSON 格式化与校验能做什么?
JSON 格式化与校验支持格式化、校验、压缩和树形视图,所有模式都可以直接在当前页面使用。
JSON 格式化与校验会上传我的数据吗?
JSON 格式化与校验会在浏览器本地处理输入内容。DevSexy 不会增加上传、登录或服务器处理步骤。
DevSexy 在浏览器本地处理工具输入:不追踪粘贴内容,无需账号,也没有上传步骤。