我能否在以下发言中发表一些意见?Json Json (Json Json) (Json Json Json) (Json Json) Json Json (Json Json) Json (Json) Json (Json) Json (Json) Json (Json) Json (Json) Json (Json) Json(Json) Json (Json) Json (Json) Json(Json) Json (Json) Json如果有,如何处理?
当前回答
JSON并不是一个框架化协议。它是一个语言自由格式。因此没有为 JSON 定义评论格式。
正如许多人所暗示的那样,有一些把戏,例如重复键或特定键。_comment
你可以使用它,由你决定
其他回答
你的战备未变
正如已经指出的,这一黑客利用了该规格的实施。 并非所有的JSON专家都能理解这种JSON。 流派尤其会窒息。
这是一个有趣的好奇心,但你不应该真的用它来做任何事。下面是最初的答案。
我发现一个小黑客 让你可以在JSON档案中 发表评论 不影响解析 或改变数据 以任何方式代表。
似乎当声明对象字典时, 您可以用同一个键指定两个值, 而最后一个值优先 。 信不信由你, 事实证明JSON 分析者以同样的方式工作 。 这样我们就可以用它来在源头 JSON 中创建评论, 这些评论不会出现在解析对象表示中 。
({a: 1, a: 2});
// => Object {a: 2}
Object.keys(JSON.parse('{"a": 1, "a": 2}')).length;
// => 1
如果我们运用这种技术,你评论的JSON档案可能看起来是这样的:
{
"api_host" : "The hostname of your API server. You may also specify the port.",
"api_host" : "hodorhodor.com",
"retry_interval" : "The interval in seconds between retrying failed API calls",
"retry_interval" : 10,
"auth_token" : "The authentication token. It is available in your developer dashboard under 'Settings'",
"auth_token" : "5ad0eb93697215bc0d48a7b69aa6fb8b",
"favorite_numbers": "An array containing my all-time favorite numbers",
"favorite_numbers": [19, 13, 53]
}
上述代码是有效的 JSON 有效 JSON。如果你分析它, 你会得到这样的物体:
{
"api_host": "hodorhodor.com",
"retry_interval": 10,
"auth_token": "5ad0eb93697215bc0d48a7b69aa6fb8b",
"favorite_numbers": [19,13,53]
}
意思是没有评论的痕迹 也不会有奇怪的副作用
黑客快乐!
Dojo工具包 JavaScript工具包(至少是1.4版)允许您在 JSON 中加入评论。/* */
Dojo 工具包使用JSONdojo.xhrGet()
拨打。
其他JavaScript工具箱也可能同样发挥作用。
在选择最后选择之前先试验其他数据结构(甚至数据清单)时,这样做会有帮助。
是 是新的标准,杰森5在许多 C+++ 样式批注中允许 C++ 样式批注其它延长:
// A single line comment.
/* A multi-
line comment. */
JSON5 数据交换格式(JSON5)是JSON的超级组合,旨在减轻JSON的某些限制。它完全向后兼容,使用它可能比写自定义的非标准分析器、为现有分析器打开非标准功能或使用像字符串字段等各种黑客来评论要好一些。或者,如果正在使用的分析器支持的话,简单同意我们正在使用 JSON 5子集,即 JSON 和 C++ 样式注释。它比我们把JSON标准为我们所认为的合适.
已经存在npm 软件包包, Python 软件包包, Java 软件包和C 图书馆库我认为没有理由坚持“官方的”JSON限制。
我认为,将JSON的评论从JSON删除的原因与在爪哇清除操作员超载的原因相同:可能会被错误地使用,但一些显然合理的使用案例却被忽视。对于操作员超载,它是矩阵代数和复杂数字。 对于JSON的评论,它是一个配置文件和其他文件,可以由人类而不是仅仅由分析员来撰写、编辑或阅读。
有一个很好的解决办法(骗局),这是有效的JSON(JSON),但并非在所有情况下都有效,只需两次(或两次以上)设定相同的键。 例如:
{
"param" : "This is the comment place",
"param" : "This is value place",
}
所以JSON会理解这一点:
{
"param" : "This is value place",
}
纯粹的答案是否 无.
但有些编辑和平台利用变通办法向JSON提供评论。
1今天,大多数编辑都有内在的选择和扩展,以补充对JSON文件的评论。 (例如: - VS 代码还有一个带有评论的JSON。(jsonc) mode
《VS法典》也有很好的展期)
2一些平台为补充评论(简简json)提供了内在途径。 (例如:- 在消防基地,我可以评论firebase.json
暂时没有问题。
{
"hosting": {
"headers": [
/*{
"source": "*.html",
"headers": [
{
"key": "Content-Security-Policy",
"value": "default-src 'self' ..."
}
]
},*/
]
}
}
3。在您自己的 JSON 解析方法中,您可以设置一个预定义的密钥名称作为注释。
包括:-
{
"comment" : "This is a comment",
"//" : "This also comment",
"name" : "This is a real value"
}
推荐文章
- 如何合并2 JSON对象从2个文件使用jq?
- 在VS Code中禁用“Comments are not allowed In JSON”错误
- 如何在Kotlin解析JSON ?
- JSON文件的蒙古导入
- 如何用jQuery / JavaScript解析JSON数据?
- jQuery在请求体中发布有效的json
- 将JSON显示为HTML
- Swift:理解// MARK
- 在JSON键名中哪些字符是有效的/无效的?
- 如何JSON序列化集?
- 如何检查JSON键是否存在?
- 在构建中编写注释的语法是什么?gradle文件?
- 将对象序列化为JSON
- node.js TypeError:路径必须是绝对路径或指定根路径到res.sendFile[解析JSON失败]
- Python json。loads显示ValueError:额外数据