JSON 格式化工具
可读性强的 JSON 及清晰的错误提示
JSON 对机器而言很简单,但对人类却毫不宽容。一个多余的逗号、一个未加引号的键名、一个从文档中粘贴过来的“智能引号”,都可能导致整个 API 请求失败。格式化工具能帮你看清数据结构,但更有用的功能是:它能明确告诉你结构在何处被破坏。
格式化 ≠ 验证
美化(Pretty-printing)会添加缩进和换行;压缩(Minifying)则会移除它们。但这两项操作均无法证明 JSON 本身是有效的。合格的格式化工具应首先解析文本,再对已解析出的值进行格式化;若解析失败,则根本不存在可格式化的有效结构。
这一区别在你粘贴一份“看起来没问题”的请求体时尤为关键。例如,两个对象之间遗漏了逗号——在一大段密密麻麻的文本中几乎不可见,但一旦 JSON 被正确缩进,问题便一目了然。
安全的工作流程
- 粘贴原始请求体。 切勿粘贴已被 Shell 命令、聊天应用或文档编辑器处理过的值。“智能引号”和省略号是导致 JSON 无效的常见原因。
- 先格式化。 若工具无法解析,须优先根据报错信息修复语法错误,再进行其他修改。
- 仔细阅读错误位置。 行号与列号仅是定位起点,并不总指向确切的错误点;缺失的括号常被报告为文件末尾处的问题。
- 仅在验证通过后才压缩。 压缩后的输出适用于传输,而非人工编辑。
- 切勿粘贴生产环境密钥。 使用本地临时值,或在粘贴前对敏感令牌进行脱敏处理。
JSON 格式化工具 在浏览器内完成解析、美化与压缩。所有文本均不会上传至服务器。
用户实际遇到的错误
- 尾随逗号(Trailing commas)。 JSON 不允许数组或对象中最后一个元素后出现逗号。
- 单引号(Single quotes)。 JSON 字符串必须使用双引号。
- 未加引号的键名(Unquoted keys)。
{name: "Ada"}是 JavaScript 对象语法,不是合法 JSON。 - 注释(Comments)。 JSON 不支持注释。请手动删除,或改用显式支持 JSONC 的工具。
- 智能引号(Smart quotes)。 文字处理软件可能将标准英文双引号
"自动替换为中文引号“;二者字节编码完全不同。 - NaN 和 Infinity。 JSON 中没有 NaN 或 Infinity 的表示方式。请改用
null或字符串。 - BOM 或隐藏字符(A BOM or hidden character)。 不可见的开头字节(如 UTF-8 BOM)可能导致解析失败。
格式化工具不应做的事
它不应静默地“修正”无效 JSON。若工具擅自猜测你的本意,可能将语法错误转化为看似合法、实则错误的数据。更安全的做法是:立即中止并明确报告解析失败。
它也不应将请求体上传至服务器。JSON 常包含客户记录、内部 URL 或凭据等敏感信息。仅在浏览器本地完成格式化,即可彻底避免此类数据传输。
何时该选用其他工具
若你需要将 JSON 转换为另一种结构,仅靠格式化工具远远不够。此时应使用具备 Schema 意识的校验器、支持 JSONPath 的工具,或直接编写代码。若请求体体积庞大,浏览器中的文本框可能响应迟缓;建议改用本地编辑器或命令行工具。
对于 CSV 格式的数据,请使用 CSV 转 JSON 将行数据转换为对象;对于 Markdown 内容,请使用 Markdown 转 HTML,它专为处理不同语法而设计。
简明版要点
先格式化,再检查,最后压缩。将每一次解析错误都视为真实错误,而非不便之处。同时,始终将私有请求体保留在浏览器中处理。