手动编辑 JSON

JSON 是一种非常严格的格式(请参阅 http://json.org) 。这使得为​​机器解析和编写变得容易,但当不明显的错误打破文档时,人们会感到惊讶。

常见问题

尾随逗号

与大多数编程语言不同,你不能添加尾随逗号:

{
  a: 1,
  b: 2,
  c: 3
}

3 之后添加逗号将产生一个 synax 错误。

数组存在同样的问题:

[ 
  1,
  2
]

如果你需要重新订购商品,则必须格外小心。

缺少逗号

{
  a: 1,
  b: 2,
  c: 3
  d: 4
}

由于不允许使用尾随逗号,因此在添加新值之前很容易忘记添加逗号(在本例中为 3 之后)。

评论

JSON 不允许注释,因为它是数据交换格式。这仍然是一个热门话题,除了不使用它们之外没有明确的答案。

有几种解决方法:

  • 使用 C 样式注释,然后在将它传递给解析器之前将其删除
  • 将注释嵌入数据中
{
  "//": "comment",
  "data": 1
}
  • 嵌入注释并用数据覆盖它们
{
  "data": "comment",
  "data": 1
}

第二个 data 条目将覆盖大多数解析器中的注释。

解决方案

为了更容易编写 JSON,请使用 IDE 来检查语法错误并提供语法着色。大多数编辑都可以使用插件。

在开发应用程序和工具时,请在内部使用 JSON 并将其作为协议使用,但尽量不要在可能需要人工编写的地方(除了调试之外)将其公开。

评估更适合此用途的其他格式,例如:

  • Hjson 可以无缝转换为 JSON
  • TOML ,类似于 INI 文件
  • YAML ,更多功能,但代价是增加了复杂性