从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无法表达“此键存在但没有值。“修复工具在自己的消息中指出
此区别,而不是将其与标点修复归为一类,以便您注意到而不是略过。
无法帮助时
如果文档以无法挽救的方式损坏,例如永不关闭的括号,工具会说明 并显示剩余错误,而不是返回仍然无法解析的内容。始终在不可恢复的 输入上返回成功的修复工具比承认无法完成的更糟糕。