我可以在json文件里使用注释吗? 如果是的话,怎么写?


当前回答

虽然json不支持评论,jsonc支持。

使用 jsonc 剖析器 。 抱歉, 如果回答为时已晚, 请将您的文件命名为“. jsonc ” 扩展名, 并使用 jsonc 剖析器 。

jsonWithComments.jsonc

例如:

{
    // This is a comment!
    "something": "idk"

}

如果这还不清楚, 我认为机器人是奇怪的。 请在投票前先试一下, 这个问题没有帮助 。

其他回答

在json中不允许使用表格///...或/*...* /的注释。

https://www.json.org rfc 4627: Javacampn 对象标记(json)申请/json媒体类型(json) rfc 8259; json) 数据交换格式(supercedes rfcs 4627, 7158, 7159)

i 只是为配置文件遇到这种情况。 我不想使用 xml (verbose, 图形化, 丑陋, 难以阅读) 或“ ini” 格式( 没有等级, 没有真正的标准等) 或 java “ properities” 格式( 如. ini) 。

json可以做他们所能做的一切, 但它的动词要少得多,更易人读—— 剖析器在许多语言中是简单易懂的和无处不在的。 它只是一棵数据树。 但是外带评论往往需要记录“ 默认” 配置和类似内容。 配置从来不是“ 完整的文档 ” , 但需要时保存的数据的树可以被人类读取。

我猜有人可以用"":"评论"来形容"有效"json"

你可以在jsonp中发表评论,但不能在纯json中发表评论。 我只是花了一个小时试图用这个高雅的图表来做我的节目。

如果你遵循链接,你将看见

?(/* AAPL historical OHLC data from the Google Finance API */
[
/* May 2006 */
[1147651200000,67.79],
[1147737600000,64.98],
...
[1368057600000,456.77],
[1368144000000,452.97]
]);

我本地文件夹里也有类似的文件, 与同一来源的政策没有问题, 所以我决定使用纯json... 当然,$. Getjson因为评论而沉默不语。

我最后向上述地址发送了一份手册 http 请求, 并意识到内容类型是文本/ javascript, 因为, jsonp 返回纯正的 javascript 。 在此情况下, 批注是允许的 。 但我的应用程序返回了内容类型应用程序/ json, 所以我不得不删除批注 。

叹息。为什么不只添加字段,例如:

{
    "note1" : "This demonstrates the provision of annotations within a JSON file",
    "field1" : 12,
    "field2" : "some text",

    "note2" : "Add more annotations as necessary"
}

只要确保你的"笔记本"名字 不与任何真实的字段冲突。

正如杰森发明家所说:

json 没有评论。 json 编码器不能输出评论。 json 编码器可以接受和忽略评论。

工具 jq 包括一个解码器,它允许“ ” 式的注释,因此jq 是可与 json- with- comments 文件一起使用的几种工具之一, 只要这些文件被当作“ jq 程序” 处理, 而不是作为 json 文件处理 。 例如 :

$ jq -ncf <(echo $'[1, # one\n2 ] # two') 
[1,2]

更重要的是,jq可以作为程序处理非常大的json-with comments文件;这可以用一个众所周知的json文件来说明:

$ ls -l JEOPARDY_QUESTIONS1.json
-rw-r--r--  2 xyzzy  staff  55554625 May 12  2016 JEOPARDY_QUESTIONS1.json

$ jq -nf JEOPARDY_QUESTIONS1.json | jq length
216930