【问题】
通过json文件给python脚本传递参数,但是希望每个参数都有对应的注释,以方便使用者知道该参数的确切含义。
问题转化为给json中添加注释。
【解决过程】
1.网上找了json的官网JSON,没看到关于添加注释的说明。
就像某人说的,json的出现,本身就是为了压缩,减少数据量,所以理论上就不支持注释,也是可以理解的。
去尝试:{
…
}
// outside of json comment test –> no work
// begin of json comment test –> no work
{
…
}
的结果,也还是无效。
其他的,也试过了:
/* comments here */
都不行。
得到一个妥协的办法,那就是,把需要添加的注释,当成json中的某个key和value,就像普通的数据一样,比如那位给出的例子:{
"_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"
}
}
}
}
}
目前看来,除此之外,也没啥其他的好办法了。
4.另外,也看到这里:
在讨论,给json组织建议,添加对应的spec规范说明,希望支持:
json的decoder编码出来的数据,不包含对应的comment,但是encoder应该支持comments
然后希望对应的comments的格式是
// single line comment
/* multi line comments */
之类的。
然后在传输数据过程中,则不需要传输这些comments。
等等讨论和建议。个人觉得还是蛮合理的,只是此刻,我用的python 2.7中的json,还是不支持decode带comments的json啊。。。。
【总结】
目前我这里的Python 2.7中的json,不支持类似于//xxx和/* xxx*/的注释,暂时的妥协办法只能是,把需要添加的注释,当做数据,写入到json里面。虽然效率很低,但是也只能这样了。
希望以后json的encoder和decoder支持对应的带comments的编解码。