[英]Will trailing commas break JSON?
所以我一直在阅读提议的JavaScript功能,我关注的是在对象文字和数组中使用逗号支持。
对于参数,尾随逗号在这里不相关,所以让我们忽略它。 我理解版本控制的好处,但我担心它会如何对JSON做出反应。
const arr = [
'red',
'green',
'blue',
];
这将变得有效。
但是当你返回JSON语法时会发生什么? RFC支持JSON,所以我怀疑JSON是否会支持尾随逗号。 或许有一天..
但JavaScript将如何处理返回类似于:
const jsonReturn = [{
"derp":1
}, {
"foo":"bar"
}, {
"slide":true,
},];
如果标题内容类型是JSON还是尾随逗号会破坏所有内容,是否会在内部删除尾随逗号?
你不会遇到任何问题,因为JSON和JS源彼此无关。
JSON没有(并且为了示例,不会)支持尾随逗号。 当前的JSON规范清楚地表明,逗号可能只出现在对象或数组中的值之间。
如果JS确实引入了对尾随逗号的支持,则对象的源表示和序列化的版本在很大程度上是不相关的。 今天的大多数浏览器都会接受一个尾随逗号,但所有逗号都会在实际对象(dict / hash或struct)表示中被丢弃:
> var foo = {bar: 1, baz: 2,};
< undefined
> foo
< Object {bar: 1, baz: 2}
即使在今天,使用尾随逗号序列化对象也可以正常工作:
> JSON.stringify({bar: 1, baz: 2,})
< "{"bar":1,"baz":2}"
逗号仅用于解析源,并且不存在于运行时的对象表示中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.