你是否曾经想在JSON文件里添加注释却发现无法注释?是的,大家都遇到了这个问题。

令人惊讶的是,JSON文件在最初的规范中确实允许注释,但因为以下3个原因删除了注释的能力:

  1. 开发者会利用注释来制定JSON解析规则,不仅有安全问题,还破坏了JSON跨平台统一的特性。
  2. 增加了不必要的复杂性,当在读写JSON时,开发者把过多精力放在注释上,也会增加解析JSON的开销。
  3. JSON 创建者希望它与早期的 YAML 版本兼容(YAML 1.1不支持注释,但是从YAML 1.2版本开始支持注释)。

尽管JSON不支持注释,可以通过定义注释字段的办法来达到注释的目的:

1
2
3
4
{
"field1": "value1",
"__comment__field1": "字段field1的注释"
}

具体的讲解可以观看Douglas Crockford在2011年的分享Douglas Crockford: The JSON Saga