这个JSON格式模式是否有名称,并带有逗号?

时间:2019-03-22 18:34:40

标签: json serialization formatting indentation

我看过这样写的有效JSON:

{ "version": 1
, "object":
  { "one": 1
  , "two": 2
  , "three": 3
  , "four": 4,
  , "five": 5
  }
, "array":
  [ 1
  , 2
  , 3
  ]
, "people":
  [ { "firstname": "Jacob",
    , "lastname": "Ford"
    }
  , { "firstname": "Marcin"
    , "lastname": "Wichary"
    }
  ]
}

我对主要优点的猜测是,一行的数据的添加或删除(除少数例外)将被区别为:单行的添加或删除。与更典型的JSON表示形式相反,带有尾部逗号,其中在数组或对象的末尾追加项目需要在其之前编辑一行以添加逗号。

此JSON表示约定是否有名称,且前导逗号和逗号放在左/右括号的同一列中?

1 个答案:

答案 0 :(得分:0)

它似乎通常被称为以逗号开头的符号(尽管有时也称为前导逗号符号),并且可以应用到more而不是JSON。 SQL命令是另一个good example

npm的代码样式指南requires适用于所有以逗号分隔的列表。 Airbnb的forbids

我对这种产生较干净差异的样式的假设是正确的;但是,有些用户更愿意通过使用结尾逗号来实现相同的目标,但总是在最后一项之后添加(不必要的)悬挂逗号。前面提到的Airbnb代码样式指南,在禁止使用逗号优先的表示法之后的部分中,requires列表后的悬挂逗号,专门用于更清晰的差异。

支持者还指出了另一个优点,即印刷错误在逗号优先表示法中变得更加明显。通常会引用npm的发明人的This gist,在这里我摘录如下:

// error in standard style
var a = "ape",
  b = "bat",
  c = "cat",
  d = "dog"
  e = "elf",
  f = "fly",
  g = "gnu",
  h = "hat",
  i = "ibu";

// error in comma-first style
var a = "ape"
  , b = "bat"
  , c = "cat"
  , d = "dog"
  e = "elf"
  , f = "fly"
  , g = "gnu"
  , h = "hat"
  , i = "ibu"
  ;