原文: Comments Inside JSON – Commenting in a JSON File
JSON(JavaScript Object Notation,JavaScript 对象表示法)因其简单灵活而成为 web 开发和移动应用程序中常用的数据交换格式。
但 JSON 文件本身并不支持注释。这使得为数据提供额外的上下文或解释具有挑战性。
本文将向你介绍如何在 JSON 文件中包含注释,以及 JSON 本身不支持注释的原因。
为什么 JSON 不支持注释
根据 JSON 规范,JSON 文档只应包含数组和对象等数据结构,而不应包含注释。这是因为 JSON 是一种简单的、易于解析的数据格式,可以快速有效地进行处理。
注释虽然有助于为人类读者提供额外的上下文或解释,但会增加解析过程的复杂性。这会降低性能并增加出错的风险。
JSON 不支持注释的主要原因是,其创建者道格拉斯·克罗克福特(Douglas Crockford)特意从格式中删除了注释,以防止误用并使其保持为纯数据格式。
克罗克福特观察到有些人使用注释来存储解析指令,这可能会破坏不同系统之间的兼容性。因此,他决定删除注释,以保持格式在各种编程语言和环境中的简洁性和一致性。
因此,在 JSON 文件中添加注释的唯一选择就是使用变通方法,例如使用自定义元素来存储注释。
如何在 JSON 中添加注释
当你以常用编程语言中使用的 //
、#
或 /* */
的形式添加注释时,你会发现 “JSON 中不允许添加注释 ”的错误。
![s_7788E690364D593F2C3E31F8D1CF26EB90DAC0141414EE29BD5F57C061BD4347_1680020901125_image](https://paper-attachments.dropboxusercontent.com/s_7788E690364D593F2C3E31F8D1CF26EB90DAC0141414EE29BD5F57C061BD4347_1680020901125_image.png)
那么,如何在 JSON 文件中添加注释呢
唯一的办法就是在 JSON 文件中将注释作为数据对加入。这种做法并不常用,也不值得推荐,但严格来说,这是添加注释到 JSON 文件的最佳方法。
在 JSON 对象中创建一个自定义元素(如 “_comment”),以便将注释与其他数据区分开来。
{
"_comment": "Put your JSON comment here"
"name": "John Doe",
"age": 35,
"city": "New York City",
"isMarried": true,
"occupation": "Software Engineer",
}
注意:并非必须使用下划线。你可以决定使用两个斜线,如 “//comment” 或任何其他允许的字符。这样做的目的是为了明确这是一个注释。
值得注意的是,这种方法可能会使 JSON 文件变得更加复杂和难以解析。但如果将注释添加为自定义元素,服务器端就会像接收和处理 JSON 中的其他数据一样接收和处理它们。
你现在知道如何在 JSON 文件中添加注释了。但如何添加多个注释呢?这是有可能的,但你要记住,JSON 不允许对象键重复。你必须在注释元素中包含唯一的字母或数字,确保其有效并能与 JSON 文件中的其他元素区分开来。
{
"_comment1": "This is the basic data",
"name": "John Doe",
"age": 35,
"city": "New York City",
"_comment2": "Marital information",
"isMarried": true,
"wifeName": "Jane Doe"
}
当你嵌套 JSON 对象时,可以使用类似的对象键:
{
"_comment": "This is the basic data",
"name": "John Doe",
"age": 35,
"city": "New York City",
"maritalInfo": {
"_comment": "Marital information",
"isMarried": true,
"wifeName": "Jane Doe"
}
}
小结
你现在知道如何在 JSON 文件中添加注释了。但是,由于这些注释也会被处理并可被访问,因此在使用自定义元素向 JSON 文件添加注释时需要小心谨慎。
感谢你阅读本文,祝你编码愉快!