JSON指定“可以在任何一对令牌之间插入空格”.它没有指定的是什么是空格.我应该把它看作“老式ASCII空白”还是“整个Unicode空白区域”?
换句话说,当解析JSON时,是U 2000,U 2001,U FEFF等令牌之间的有效空白字符?
解决方法
RFC4627 for JSON年定义的空白空白:
Insignificant whitespace is allowed before or after any of the six
structural characters.
ws = *( %x20 / ; Space %x09 / ; Horizontal tab %x0A / ; Line Feed or New line %x0D ; Carriage return )
顺便说一下,默认编码是UTF-8:
JSON text SHALL be encoded in Unicode. The default encoding is UTF-8.
话虽如此,我不认为他们打算在原来的实施中接受所有形式的Unicode spaces.