JSON 与数据处理指南

JSON5、JSON 修复与格式化:三种操作如何选择

合法 JSON 用格式化,明确方言用 JSON5,损坏数据的修复结果必须复核。

Nav Tools ·

格式化处理合法值

格式化调整缩进等表现,不可能在不做额外推断的情况下理解任意错误语法。

处理接口响应时先校验,不合法则判断来源究竟是明确方言还是损坏数据。

JSON5 是明确的语法扩展

JSON5 允许注释、单引号、尾逗号和部分未引用键名,但这些并不是标准 JSON。

来源约定 JSON5 时采用相应解析,再导出标准 JSON 供要求 RFC 8259 语法的接收方使用。

// JSON5 input
{name:'Ada',active:true,}
// Standard JSON output
{"name":"Ada","active":true}

修复会推断语法

修复可能补标点、闭合字符串和容器,结果合法不代表恢复了作者原意。

使用前查看修复差异,网络响应如果被截断,应重新取得完整来源而非推断缺失记录。

复核数据与精度

重复键与特殊数值需要单独决策,标准 JSON 排除 NaN、Infinity;JSON5 解析器可能使用原生 JavaScript 数值。

本站拒绝不安全 JSON5 整数和非有限值,避免把舍入或替换结果当作无损转换,下游格式也需要核对。

参考资料

← JSON 与数据处理指南