Подтвердить что ты не робот

Определение пробелов в Json

JSON указывает, что "Пробел может быть вставлен между любыми парами токенов". То, что он не определяет, является именно тем, что является пробелом. Должен ли я читать это как "старомодный пробел ASCII" или "весь спектр пробелов Unicode"?

Другими словами, при разборе JSON есть U + 2000, U + 2001, U + FEFF и т.д. допустимые пробельные символы между токенами?

4b9b3361

Ответ 1

Незначительные пробелы определены в RFC4627 для JSON:

Незначительные пробелы разрешены до или после любого из шести структурные признаки.

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

Кстати, кодировка по умолчанию - UTF-8:

Текст JSON будет закодирован в Юникоде. Кодировка по умолчанию - UTF-8.

Считаю, что я не думаю, что они намеревались принять все формы Unicode space в исходной реализации.