我能否在以下发言中发表一些意见?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没有评论。 JSON 编码器必须输入输出评论。 JSON 编码器可能接受和忽略评论。

功用包含一个解码器, 它允许“ #” 式的评论, 所以jq 是一种工具, 可以与 JSON 与注释文件一起使用, 只要这些文件被当作“ jq 程序” 处理, 而不是作为 JSON 文件处理 。 例如 :

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

更重要的是,jq可以处理庞大的JSON与评论文件作为程序;这可以用众所周知的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

其他回答

是 是新的标准,杰森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兼容,

其中一个显著的例子是:“Hashcorp语言”(HCL)” (HCL)由那些制造流浪者、包装者、领事和保险库的人共同撰写。

JSON并不支持本地的评论, 但您可以自己制作解码器或至少预处理器来删除评论, 这完全没问题(只要您只是忽略评论, 不使用它们来指导您的应用程序如何处理 JSON 数据 ) 。

JSON没有评论。 JSON 编码器必须输入输出评论。 JSON 编码器可能接受和忽略评论。

评论绝不应被用来传递任何有意义的信息。这就是JSON的目的。

参 :Douglas Crockford,Json Spec的作者,道格拉斯·克罗克福德.

如果您的文本文件, 即 JSON 字符串, 将会被某个程序读取, 使用 C 或 C++ 样式之前要删除 C 或 C+ 样式的注释会有多困难 ?

答复:这将是一个班轮。 如果您这样做, JSON 文件可以用作配置文件 。

你应该写一个杰森计划JSON Schema是目前提议的因特网规格草案,除了文件以外,还可以使用这一规格来验证你的JSON数据。

示例:

{
  "description": "A person",
  "type": "object",
  "properties": {
    "name": {
      "type": "string"
    },
    "age": {
      "type": "integer",
      "maximum": 125
    }
  }
}

您可以使用以下工具提供文档:描述说明说明说明说明说明说明schema 属性 。