php json注释,【部分解决】Json中添加注释
【問(wèn)題】
通過(guò)json文件給python腳本傳遞參數(shù),但是希望每個(gè)參數(shù)都有對(duì)應(yīng)的注釋,以方便使用者知道該參數(shù)的確切含義。
問(wèn)題轉(zhuǎn)化為給json中添加注釋。
【解決過(guò)程】
1.網(wǎng)上找了json的官網(wǎng)JSON,沒(méi)看到關(guān)于添加注釋的說(shuō)明。
就像某人說(shuō)的,json的出現(xiàn),本身就是為了壓縮,減少數(shù)據(jù)量,所以理論上就不支持注釋,也是可以理解的。
去嘗試:{
…
}
// outside of json comment test –> no work
// begin of json comment test –> no work
{
…
}
的結(jié)果,也還是無(wú)效。
其他的,也試過(guò)了:
/* comments here */
都不行。
得到一個(gè)妥協(xié)的辦法,那就是,把需要添加的注釋,當(dāng)成json中的某個(gè)key和value,就像普通的數(shù)據(jù)一樣,比如那位給出的例子:{
"_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"
}
}
}
}
}
目前看來(lái),除此之外,也沒(méi)啥其他的好辦法了。
4.另外,也看到這里:
在討論,給json組織建議,添加對(duì)應(yīng)的spec規(guī)范說(shuō)明,希望支持:
json的decoder編碼出來(lái)的數(shù)據(jù),不包含對(duì)應(yīng)的comment,但是encoder應(yīng)該支持comments
然后希望對(duì)應(yīng)的comments的格式是
// single line comment
/* multi line comments */
之類的。
然后在傳輸數(shù)據(jù)過(guò)程中,則不需要傳輸這些comments。
等等討論和建議。個(gè)人覺(jué)得還是蠻合理的,只是此刻,我用的python 2.7中的json,還是不支持decode帶comments的json啊。。。。
【總結(jié)】
目前我這里的Python 2.7中的json,不支持類似于//xxx和/* xxx*/的注釋,暫時(shí)的妥協(xié)辦法只能是,把需要添加的注釋,當(dāng)做數(shù)據(jù),寫入到j(luò)son里面。雖然效率很低,但是也只能這樣了。
希望以后json的encoder和decoder支持對(duì)應(yīng)的帶comments的編解碼。
與50位技術(shù)專家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的php json注释,【部分解决】Json中添加注释的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: php怎么克隆,利用php怎么对对象进行
- 下一篇: y sinx matlab,有一个函数