跳转到主要内容
CuteJSON
↑↓ 导航 Enter 选择 Esc 关闭

如何自动修复损坏的JSON,并查看每个更改

发布 1 分钟阅读 作者 Akash Kinkar Pandey

从JavaScript源文件复制的文档、带注释的配置或手动编辑的测试数据 通常几乎是JSON:不带引号的键、单引号、尾随逗号,也许还有一个 解释字段用途的注释。这些都不是有效的JSON,在大文件中手动修复 既繁琐又容易出错。

JSON修复工具修复什么

粘贴损坏的文档并按修复。它处理不带引号的对象键、单引号字符串、 尾随逗号、注释(//和/* */)、大小写错误的关键字如True 和NULL,以及JavaScript值NaN、Infinity和undefined, 它们在JSON中没有等价物,会变成null。

为什么列出每个更改而不是默默修复

大多数修复工具默默修复并返回结果,这什么也不教你,并隐藏了修复 不是您实际想要的情况。此工具列出每个更改及其行和列,以便您可以 检查结果而不是盲目信任。粘贴此内容:

{
  // account info
  name: 'ana',
  role: 'admin',
  active: True,
  meta: undefined,
}

修复返回:

{ "name": "ana", "role": "admin", "active": true, "meta": null }

以及一个列出确切发生情况的清单:注释被删除,name和role获得 引号,两个单引号字符串变成双引号,True被替换为true, undefined变成null,尾随逗号被删除。十个问题,十个按行编号的 条目。

单独指出的更改

删除注释或转换引号风格更改文档的拼写,而不是其含义。将 undefined替换为null是不同的:它更改数据实际说的内容,因为 JSON无法表达“此键存在但没有值。“修复工具在自己的消息中指出 此区别,而不是将其与标点修复归为一类,以便您注意到而不是略过。

无法帮助时

如果文档以无法挽救的方式损坏,例如永不关闭的括号,工具会说明 并显示剩余错误,而不是返回仍然无法解析的内容。始终在不可恢复的 输入上返回成功的修复工具比承认无法完成的更糟糕。

返回所有文章