json - Json中空格的定义

标签 json parsing unicode utf-8 whitespace

JSON 指定“可以在任何一对 token 之间插入空格”。它没有指定的正是空白是什么。我应该将其读作“老式 ASCII 空白”还是“整个 Unicode 空白范围”?

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

最佳答案

无关紧要的空白在 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在最初的实现中。

关于json - Json中空格的定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16042274/

相关文章:

regex - 使用sed用逗号替换前两个空格

Javascript:解析 csv 中的字符串返回 NaN (不是数字)

Java FileReader 编码问题

java - 当值为日期时,如何使用 Java 在 JSON 字符串中添加引号

json - 选择 - Oracle JSON 对象 - 加入

json - 当对象名称中包含 DOT 时如何从 json 对象中检索字段值

c++ - GCC 4.8 和 char16_t 流 - 错误?

java - JSON 数组获取长度

android - Android 上的 XmlPullParser XML

php - 正确处理 php 中转义的 unicode 字符