JSON中空格的定义

14
JSON规定“可以在任意两个标记之间插入空格”,但没有明确说明什么是空格。我应该理解为“传统ASCII空格”还是“Unicode全部范围内的空格”?
换句话说,解析JSON时,U+2000、U+2001、U+FEFF等字符是否是有效的标记之间的空格字符?

1
你的引用从哪里得来的?当你阅读规范时,空格是非常明确定义的。 - Denys Séguret
这是来自“JSON铁路图页面”的内容:http://www.json.org/ - rpieket
是的,但这个页面是一个链接到规范的介绍... - Denys Séguret
1个回答

10

JSON的RFC4627中定义了不重要的空格:

六个结构字符之前或之后允许有不重要的空格。

  ws = *(
            %x20 /              ; Space
            %x09 /              ; Horizontal tab
            %x0A /              ; Line feed or New line
            %x0D                ; Carriage return
        )

顺便提一下,默认编码是UTF-8:

JSON文本应该使用Unicode编码。默认编码是UTF-8。

话虽如此,我认为他们原始实现并不打算接受所有形式的Unicode空格


2
太棒了。这份RFC文档比我之前使用的json.org页面详细得多。 - rpieket

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接