ZeroTool Workbench
JSON 格式化
免费在线 JSON 格式化和验证工具。在浏览器中即时美化、压缩和验证 JSON。无数据上传,支持离线使用。
使用方法
- 将 JSON 粘贴到输入框中。
- 点击格式化以 2 空格缩进美化。
- 点击压缩将其压缩为单行。
- 点击验证检查语法错误。
- 点击复制将结果复制到剪贴板。
关于 JSON 格式化
JSON(JavaScript Object Notation)是最常用的数据交换格式。格式化工具通过添加缩进使嵌套结构可读,而压缩工具去除空白以减少数据大小。除下文「限制」列出的情况外,两种操作都不改变解析后的数据。
此工具完全在浏览器中运行,数据不会离开您的设备。
常见错误与提示信息
本工具用浏览器的 JSON.parse 解析输入,「无效 JSON:」后面的错误信息来自浏览器。下表是 Chrome 对几种常见错误给出的信息,Firefox 和 Safari 的措辞不同。
| 输入 | 问题 | Chrome 的提示 | 改法 |
|---|---|---|---|
{"a":1,} | 末尾多余逗号 | Expected double-quoted property name in JSON at position 7 (line 1 column 8) | 删掉最后一个逗号 |
{'a':'b'} | 单引号 | Expected property name or '}' in JSON at position 1 (line 1 column 2) | 改用双引号 |
{a: 1} | 键名没加引号 | Expected property name or '}' in JSON at position 1 (line 1 column 2) | 给键名加双引号 |
{"x": undefined} | undefined 不是 JSON 值 | Unexpected token 'u', ... is not valid JSON | 改成 null |
{"a":1} // 备注 | 注释 | Unexpected non-whitespace character after JSON at position 8 | 删掉注释,RFC 8259 没有注释语法 |
限制
- 大整数会丢精度。 数字按 JavaScript 双精度浮点数解析,超过 2^53 − 1 的整数会变:
{"id": 12345678901234567890}格式化后是{"id": 12345678901234567000}。很长的 ID 请用字符串保存。 - 重复的键只保留最后一个。
{"a":1,"a":2}会变成{"a":2}。 - 数字写法会被改写。
1.0变成1,1e3变成1000。 - 缩进固定为 2 个空格。
FAQ
我的 JSON 数据会发送到服务器吗?
不会。所有处理完全在浏览器中使用 JavaScript 完成,不会发送到任何服务器。
验证按钮有什么用?
它检查 JSON 是否语法有效,如果无效则显示错误位置。
格式化使用什么缩进?
默认使用 2 个空格,这是 JSON 最常见的约定。
可以在手机上使用吗?
可以。ZeroTool 完全响应式设计,适用于所有设备。