json - 您可以在 JSON 对象中使用尾随逗号吗?

标签 json syntax delimiter

手动生成 JSON 对象或数组时,在对象或数组的最后一项上留下逗号通常更容易。例如,从字符串数组输出的代码可能看起来像(在类似 C++ 的伪代码中):

s.append("[");
for (i = 0; i < 5; ++i) {
    s.appendF("\"%d\",", i);
}
s.append("]");

给你一个类似的字符串

[0,1,2,3,4,5,]

这是否允许?

最佳答案

不幸的是the JSON specification不允许尾随逗号。有一些浏览器允许它,但通常您需要担心所有浏览器。

一般来说,我会尝试解决问题,并在实际值之前添加逗号,因此您最终会得到如下所示的代码:

s.append("[");
for (i = 0; i < 5; ++i) {
  if (i) s.append(","); // add the comma only if this isn't the first entry
  s.appendF("\"%d\"", i);
}
s.append("]");

在你的 for 循环中多出一行代码并不昂贵...

当从某种形式的字典向 JSON 输出结构时,我使用的另一种替代方法是始终在每个条目后附加一个逗号(如您在上面所做的那样),然后在末尾添加一个没有尾随的虚拟条目逗号(但这只是懒惰;->)。

不幸的是,它不适用于数组。

关于json - 您可以在 JSON 对象中使用尾随逗号吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/201782/

相关文章:

bash - 如何使用双括号或单括号、圆括号、花括号

sql - Oracle SQL 语法 : Inner Join

Python line.split 只分割单个字符

R:删除空格 + 分隔符

json - 防止 JSON4S 跳过缺少字段的 JSON 对象

php - 如何使用 jQuery JSON 从 PHP JSON 中提取值?

java - 流口水规则 : How can I use a method on "when" section?

python - 如何使用定界符将一个字符串拆分为 2 个字符串

json - Swift 无法解析 NSMutableDictionary 中的整数

java - ObjectMapper 不考虑注解