可以在JSON中使用评论吗?

我可以在JSON文件中使用评论吗? 如果是这样,怎么样?


没有。

JSON应该都是数据,如果包含评论,那么它也会是数据。

您可以使用名为"_comment" (或其他)的指定数据元素,这些数据元素将被使用JSON数据的应用程序忽略。

您可能会更好地在生成/接收JSON的流程中发表评论,因为他们应该知道JSON数据会提前发布什么,或者至少了解它的结构。

但是,如果您决定:

{
   "_comment": "comment text goes here...",
   "glossary": {
      "title": "example glossary",
      "GlossDiv": {
         "title": "S",
         "GlossList": {
            "GlossEntry": {
               "ID": "SGML",
               "SortAs": "SGML",
               "GlossTerm": "Standard Generalized Markup Language",
               "Acronym": "SGML",
               "Abbrev": "ISO 8879:1986",
               "GlossDef": {
                  "para": "A meta-markup language, used to create markup languages such as DocBook.",
                  "GlossSeeAlso": ["GML", "XML"]
               },
               "GlossSee": "markup"
            }
         }
      }
   }
}

,JSON中不允许使用表单//…/*…*/注释。 这个答案基于:

  • http://www.json.org
  • RFC 4627:用于JavaScript对象表示法(JSON)的application/json媒体类型
  • RFC 7159 JavaScript对象表示法(JSON)数据交换格式 - 废止时间:4627,7158

  • 包括评论,如果你选择; 在解析或传输之前,用缩小器去除它们。

    我刚刚发布了JSON.minify() ,它从JSON块中删除注释和空白,并使其可以被解析为有效的JSON。 所以,你可以像这样使用它:

    JSON.parse(JSON.minify(my_str));
    

    当我发布它时,我反应过度,甚至不同意它的想法,所以我决定写一篇全面的博客文章,讨论为什么评论在JSON中有意义。 它包括来自JSON创建者的这个值得注意的评论:

    假设您使用JSON来保存想要注释的配置文件。 继续并插入你喜欢的所有评论。 然后在将它交给JSON解析器之前通过JSMin管理它。 - 道格拉斯克罗克福德,2012

    希望对那些不同意为什么JSON.minify()可能有用的人有帮助。

    链接地址: http://www.djcxy.com/p/47.html

    上一篇: Can comments be used in JSON?

    下一篇: How to remove local (untracked) files from the current Git working tree?