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

Является допустимым null JSON (4 байта, ничего больше)

Горячие дебаты сегодня:

Является ли текстовый поток null действительным JSON?

Согласно http://www.ietf.org/rfc/rfc4627.txt?number=4627:

...
2. Грамматика JSON

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

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

Если это интерпретируется как оба утверждения, должно быть истинным, чтобы текст был действительным JSON?

Однако многие другие библиотеки, похоже, разрешают это, и действительно, кажется, что один действительный токен может быть законным результатом.

Есть ли окончательный ответ?

4b9b3361

Ответ 1

Да, оба утверждения должны быть истинными. Литеральный токен null - значение JSON. Текст JSON представляет собой сериализованный объект или массив, для которого требуется {} или [].

Ответ 2

RFC 7159 отменяет ограничение на то, что текст JSON должен быть объектом или массивом. В грамматике указано:

JSON-text = ws value ws

где

value = false/null/true/object/array/number/string

Таким образом, "null" теперь является допустимым документом JSON.