Json中空白的定义

rpi*_*ket 13 unicode whitespace parsing json utf-8

JSON指定"可以在任何一对令牌之间插入空格".它没有指定的正是空白是什么.我应该把它读作"老式的ASCII空白"还是"整个Unicode空格"?

换句话说,在解析JSON时,U + 2000,U + 2001,U + FEFF等令牌之间是否有效的空白字符?

小智 10

RFC4627中为JSON定义了无关紧要的空格:

在六个
结构字符中的任何一个之前或之后允许无关紧要的空格.

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

顺便说一句,默认编码是UTF-8:

JSON文本应以Unicode编码.默认编码为UTF-8.

话虽这么说,我认为他们不打算在原始实现中接受所有形式的Unicode空间.

  • 惊人的。这个 RFC 文档比我使用的 json.org 页面详细得多。 (2认同)