REST / JSON: я должен включить новую строку после строки JSON? - PullRequest
3 голосов
/ 20 апреля 2010

Если я возвращаю ["foo"] из веб-запроса RESTful, что из этого является более подходящим? Удастся ли педантичный разбор REST на новой строке?

["foo"]\n     (with newline, Content-Length=8)
["foo"]       (no newline, Content-Length=7)

Для легкого регрессионного тестирования мне нравится форма с новой строкой, но я хочу убедиться, что не буду нарушать какие-либо фреймворки приложений, которые могут иметь более строгое представление о формате REST.

Ответы [ 2 ]

4 голосов
/ 20 апреля 2010

Цитируется из RFC 4627 , выделено жирным шрифтом соответствующий раздел для выделения

Текст JSON - это последовательность токенов. Набор жетонов включает в себя шесть структурные символы, строки, числа и три буквенных имени.

Текст JSON представляет собой сериализованный объект или массив.

 JSON-text = object / array

Это шесть структурных символов:

 begin-array     = ws %x5B ws  ; [ left square bracket

 begin-object    = ws %x7B ws  ; { left curly bracket

 end-array       = ws %x5D ws  ; ] right square bracket

 end-object      = ws %x7D ws  ; } right curly bracket

 name-separator  = ws %x3A ws  ; : colon

 value-separator = ws %x2C ws  ; , comma

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

1 голос
/ 20 апреля 2010

JSON должен быть нечувствительным к пробелам.Я полагаю, что технически в спецификации на JSON.org сказано: «Пробел может быть вставлен между любой парой токенов», но парсер должен быть действительно педантичным, чтобы пожаловаться на пробел до первого токена или после последнего.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...