手动生成 JSON 对象或数组时,在对象或数组的最后一项上留下尾随逗号通常更容易。例如,从字符串数组输出的代码可能如下所示(在类似 C++ 的伪代码中):
s.append("[");
for (i = 0; i < 5; ++i) {
s.appendF("\"%d\",", i);
}
s.append("]");
给你一个像这样的字符串
[0,1,2,3,4,5,]
这是允许的吗?
很遗憾JSON 规范 http://www.json.org/不允许尾随逗号。有一些浏览器允许它,但通常您需要担心所有浏览器。
一般来说,我尝试扭转问题,并在实际值之前添加逗号,这样您最终会得到如下所示的代码:
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 时,我使用的另一种替代方法是始终在每个条目后面附加一个逗号(就像上面所做的那样),然后在末尾添加一个没有尾随逗号的虚拟条目(但是这只是懒惰;->)。
不幸的是,它不适用于数组。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)