Являются ли следующие допустимые тексты JSON или их значение верхнего уровня является массивом или объектом?
4.0
"Hello World"
true
Связанные вопросы в прошлом, такие как Каков минимальный допустимый JSON? и Является ли эта простая строка считающейся действительной JSON? пришли к выводу, что это не так. Это было основано на описании формата JSON в RFC- 4627, в котором говорится, что:
2. JSON Grammar
Текст JSON - это последовательность токенов. Набор токенов включает шесть структурные символы, строки, числа и три буквальных имени.
Текст JSON представляет собой сериализованный объект или массив.
JSON-text = object / array
Это шесть структурных символов:
[...]
Однако статус RFC-4627 заявляет, что он "не указывает ни одного интернет-стандарта любого типа". Вместо этого официальным стандартом для JSON является недавно опубликованный ECMA-404. В отличие от RFC-4627, описание допустимого текста JSON в ECMA-404 не включает требования о том, что это объект или массив. Например, в разделе, который больше всего похож на приведенную выше цитату, отсутствует это требование:
4 Текст JSON
Текст JSON представляет собой последовательность токенов, сформированных из кодовых точек Unicode, которые соответствуют значению JSON грамматика. Набор жетонов включает шесть структурных маркеров, строк, цифр и трех буквенных жетонов.
Шесть структурных токенов:
[...]
Учитывая эту новую спецификацию, кодируются не-массивные значения не-объектов верхнего уровня, считающиеся действительными текстами JSON?