ConvertOwl

JSON 格式化工具 — 即时美化并校验 JSON

粘贴压缩或格式糟糕的 JSON,取回一个带有正确缩进、便于人类阅读的版本。此工具还会校验你的 JSON——语法错误会以清晰的错误消息显示,而非默默产生不正确的输出。适用于调试 API 响应、阅读配置文件,以及清理来自压缩工具的 JSON。一切都在客户端运行,不向任何服务器发送数据。

如何使用此工具

  1. 粘贴你的 JSON

    将任意 JSON 字符串粘贴到左侧文本区域——压缩的单行 JSON、部分格式化的 JSON,或从浏览器开发者工具复制的 JSON 对象。

  2. 点击转换

    格式化工具用 JSON.parse() 解析你的 JSON,并通过 JSON.stringify() 以 2 空格缩进重新序列化。如果输入无效,会显示校验错误。

  3. 复制或下载

    使用“复制”按钮将格式化后的 JSON 复制到剪贴板,或使用“下载”将其保存为 .json 文件。

  4. 修复错误并重试

    如果校验失败,错误消息会指出问题所在。常见问题:尾随逗号(不是有效 JSON)、用单引号而非双引号,以及未加引号的属性名。

常见问题

JSON 与 JavaScript 对象语法有什么区别?

JSON 是 JavaScript 对象表示法的一个严格子集,有具体规则:属性名必须是双引号字符串,值只能是字符串、数字、布尔值、null、数组或对象,并且不允许尾随逗号。JavaScript 对象更灵活——它们允许单引号、未加引号的键和尾随逗号。像 {name: 'Alice'} 这样的代码是有效的 JavaScript,但不是有效的 JSON。

我的 JSON 来自 API——为什么格式化失败?

API 响应有时并非纯 JSON。常见问题:返回的是 HTML 错误页面而非 JSON(检查响应是否以 < 而非 { 或 [ 开头)、JSON 被包裹在回调函数中(JSONP 格式),或响应开头带有 BOM(字节顺序标记)。尝试去除第一个 { 或 [ 字符之前的所有内容。

我可以格式化的 JSON 有大小限制吗?

该工具没有明确限制,但非常大的 JSON(50+ MB)可能会使浏览器变慢,因为 JSON.parse() 和 JSON.stringify() 在内存中工作。对于数兆字节的 JSON,可考虑使用 jq 之类的桌面工具或 VS Code 内置的 JSON 格式化工具,它们能更高效地处理大文件。

此工具可以压缩 JSON(移除空白)吗?

此工具用于格式化(美化)JSON。要压缩 JSON,请在浏览器控制台中使用不带间距参数的 JSON.stringify(JSON.parse(input)),或使用专用的压缩工具。压缩对于减小生产 API 中的 JSON 负载大小很有用。

JSON 格式化会改变数据吗?

格式化只为便于人类阅读而添加空白和换行。数据的值、类型和结构都被精确保留。对象内属性的顺序保持原样(JavaScript 引擎为非整数键维护插入顺序)。数组保持其原始元素顺序。

有问题吗? 报告问题