JSON 格式化器和验证器

在下方粘贴JSON进行格式化、验证或压缩。选择缩进级别。所有处理均在浏览器中本地完成。

已复制!

什么是JSON?

JSON(JavaScript Object Notation)是一种轻量级数据交换格式,人类易于阅读和编写,机器易于解析和生成。它支持对象、数组、字符串、数字、布尔值和null值。

格式化(美化打印)添加缩进使JSON更具可读性,而压缩则移除所有不必要的空白以减小有效载荷大小。

解析失败时,光看报错信息往往帮不上忙,所以本页会从报出的偏移量算出行号和列号,并把出问题的那一行连同下面的指示符一起打印出来。宽松选项会先剥掉注释和多余的逗号,正是这一点才让 tsconfig 或编辑器配置文件在这里能用。给键排序可以让两份文档用 diff 对比,而 ASCII 选项会把纯 ASCII 以上的字符全部转义,好穿过那些会弄坏其他字符的流程。

又在手工整理数据?

每次都要在浏览器标签页里修一遍的数据,本该交给代码。我们构建在系统之间搬运数据的集成、解析器和服务,也修好那些在半路上悄悄把数据弄坏的东西。

告诉我们你在搬什么

常见问题

为什么我的文件报错只说了一个位置?
因为 JSON 把错误报成字符偏移量,这在长文件里毫无用处。本页会把这个偏移量换算成行号和列号,并把出问题的那一行连同指向确切位置的标记一起打印出来,你可以直接跳过去。
它能读 tsconfig 或编辑器配置文件吗?
能,把宽松选项打开就行。这类文件用注释和多余的逗号,而那不是 JSON,所以页面会在解析前剥掉它们并告诉你。出来的是纯 JSON,任何解析器都收。
我那串很长的 ID 数字为什么变了?
因为 JSON 里的数字按 double 解析,超过大约十六位就会丢精度。一个很大的数据库标识符到手时就已经被舍入了,没有任何格式化工具能还原它。页面看到这种值会提醒你;办法是把这类标识符当字符串来传。
排序键那个选项有什么用?
用来比对两份文档。同样的数据只要键的顺序不同,diff 就会满屏噪声;两边都排一遍,真正的差异才显出来。它对每一层都排序,不只是最外层。
我的数据会被上传到哪里吗?
不会。解析和格式化都在你的浏览器里,用它自带的 JSON 支持完成。什么都不会外发,这一点很要紧,因为人们粘进格式化工具的文件,通常是他们并不想外传的系统配置或 API 响应。