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 中不允许使用//…
或/*…*/
形式的注释。参考文献:
application/json
Media Type for JavaScript Object Notation (JSON)如果您选择,请附上评论; 在解析或传输之前用缩小器将它们剥离。
我刚刚发布了JSON.minify() ,它从 JSON 块中删除了注释和空格,并使其成为可以解析的有效 JSON。所以,您可以使用它:
JSON.parse(JSON.minify(my_str));
当我发布它时,我得到了一个强烈反对,甚至不同意它的想法,所以我决定写一篇关于为什么评论在 JSON 中有意义的综合博客文章。它包括来自 JSON 创建者的这个值得注意的评论:
假设您使用 JSON 来保留要注释的配置文件。继续,插入您喜欢的所有评论。然后通过 JSMin 将其传递给 JSON 解析器。 - 道格拉斯克罗克福德,2012 年
希望这对那些不同意JSON.minify()可能有用的人有帮助。