一块剪贴板ykjtb.com
格式校验

JSON 格式化与校验

把挤成一行的 JSON 展开成能看清的层级;语法写错时,直接告诉你错在第几行第几列。

← 全部小工具

本工具 100% 在你的浏览器中运行,输入的内容不会上传到服务器,断网也能继续用。
等待输入
  • 先校验再格式化:JSON 有语法错误时会停在原样并报错,不会给出半个结果,避免你粘错内容。

  • 报错带行列:错误信息里的行号和列号是从原始文本算出来的,直接跳过去改就行。

  • 压缩适合传输:去掉所有空白后体积小很多,适合粘进配置或请求体。

  • 处理好要发到手机上?用 贴一块,手机扫码或输入取件码即可取走。

JSON 为什么总要看格式化后的样子

接口返回的 JSON 为了省流量通常是一整行,几百个字段挤在一起。人眼在这种文本里找某个字段,跟在大海里捞针差不多——尤其是层级一深,括号配对全靠数。格式化之后,缩进把层级关系变成视觉上的位置关系,扫一眼就知道哪个字段属于哪一层。

更麻烦的是在手机上看。手机上屏幕窄,一整行 JSON 要横向拖很久,还容易看串行。所以常见的做法是:在电脑上格式化好,发到手机上再看。这也是本工具和剪贴板最自然的配合方式。

常见的 JSON 语法错误

排在第一位的是多余的逗号:最后一个属性后面还跟了一个逗号,{"a":1,} 是非法的,但很多人写习惯了会顺手加上。第二位是用了单引号:JSON 标准只允许双引号,{'a':1} 不合法。第三位是键名没加引号:JavaScript 对象允许 {a:1},JSON 不允许。

还有一类是注释。JSON 不支持 // 和 /* */,从配置文件里复制出来的内容常常带注释,直接解析必然报错。另外 undefined、NaN、函数这些 JavaScript 里合法的值,在 JSON 里都不存在。

转义和压缩分别用在哪

压缩去掉所有不必要的空白,用于传输和存储:接口请求体、配置文件、日志里记录的报文,压缩之后能省下可观的空间。它不改变数据内容,只是去掉排版。

转义是把一段 JSON 变成"一个字符串",好让它能被嵌在另一段 JSON 里,或者放进某些只允许字符串的参数中。比如接口要你传一个字符串,而这个字符串的内容本身是 JSON,这时候就需要转义。本工具的转义选项会处理好引号和反斜杠,不用你手工加斜杠。

几个真实的使用场景

场景一:开发查线上接口。接口返回一坨 JSON,格式化后逐层展开,快速定位出错的字段,确认之后发到手机上,走到哪都能看。

场景二:改配置文件。配置是压缩过的 JSON,格式化后改两行,再压缩回去粘进配置中心,避免手写格式出错。

场景三:排查报错。日志里有一段 JSON 解析失败,复制出来校验一下,直接看到出错的行列位置,不用肉眼扫几千个字符。

常见问题

报错里的行号和列号准吗?

是由解析错误的字符位置换算出来的,指向出错的地方或其紧邻位置。如果提示在行尾,通常是上一行少写了逗号或冒号。

支持多大的 JSON?

在浏览器本地解析,几 MB 以内通常没问题。特别大的文件(几十 MB)可能导致页面卡顿,建议先拆分。

数字精度会丢吗?

会。JavaScript 的数字是双精度浮点,超过 15 到 16 位的整数(比如某些订单号、雪花 ID)末尾可能不准。这类值建议让接口以字符串返回。

格式化会改变数据内容吗?

不会。只调整空白和缩进,键值、顺序(除非勾选按键名排序)、类型都保持原样。

我输入的内容会被保存到服务器吗?

不会。所有计算都在你的浏览器里完成,页面不会把输入内容发送到任何服务器。你可以打开本页后断开网络,工具依然正常工作。