在这里检查:

http://www.json.org/

和这里:

http://www.ietf.org/rfc/rfc4627.txt?number=4627

我所看到的只是名称必须是字符串,而不是它们不能使用单引号。别误会,我使用JSON引号命名。它可以保护开发人员避免使用不是合法的JS变量名称的属性名称,并且强大地使用JSON经常将传统值放入属性名称中,以进行2D数组建模表的映射简化。

我还认为对于所有名称而言,始终使用一种或另一种引用类型是有意义的,这样可以避免在尝试以某种没有方便的JSON解析库/本机方法的语言来解析JSON时做出的假设从它的毛孔里出来,但是在这些规格中我看不到任何东西坚持它必须是双重或单一的。

我在第二个链接中看到的只是它们必须是字符串。正如许多JSON验证程序似乎认为的那样,在哪里确定必须将其双引号?还有其他来源吗?如果是这样,谁拥有JSON镇?我感觉自己像个衣衫agged的人迷路了。

最佳答案

您链接到的RFC第4页:

string = quotation-mark *char quotation-mark
...
quotation-mark = %x22      ; "

属性名称必须是字符串,但是字符串必须用引号(而不是撇号)定界。

另请参阅json.org上的the diagram of a string。请注意,它以"开头和结尾,而不是允许使用'替代的分支。

10-05 20:36
查看更多