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

Является ли одно строковое значение допустимым JSON?

Вы считаете, что веб-ответ JSON:

"Произошла ошибка сериализации"

чтобы быть действительным? Или не

Некоторые валидаторы принимают его: http://www.freeformatter.com/json-validator.html

И некоторые другие.

Сильвен

4b9b3361

Ответ 1

Что касается нового JSON RFC, то json, содержащий только одно значение, довольно корректен.

A JSON text is a serialized value.  Note that certain previous
specifications of JSON constrained a JSON text to be an object or an array.

Ответ 2

Там произошла смена сердца между RFC4627 и RFC7159:

RFC4627

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

  JSON-text = object / array

RFC7159

Текст JSON является сериализованным значением. Обратите внимание, что некоторые предыдущие спецификации JSON ограничивали текст JSON как объект или массив. Реализации, которые генерируют только объекты или массивы, где Текст JSON, который вызывается, будет взаимодействовать в том смысле, что все реализации будут воспринимать их как соответствующие тексты JSON.

  JSON-text = ws value ws

Никакое философское или практическое обоснование не предусмотрено для этого изменения сердца. Более ранняя версия, вероятно, имеет больше смысла, поскольку она последовательно диктует, что и элемент одиночного списка, и один элемент карты (пара или кортеж). Вторая версия позволяет исключить только один элемент списка.

Ответ 4

Из RFC4627:

A JSON text is a serialized object or array.
    JSON-text = object / array

IE, корневой элемент должен быть объектом или массивом и не может быть строковым значением сам по себе.

Ответ 5

Мне все равно, принимает ли какой-нибудь валидатор его. Это неправильно. Это вопрос хорошей практики, формат Json должен быть {"key": "value", .....}. Если вы считаете, что текст Json, может работать, но для остальных программистов это не серьезный Json. Если вы используете только этот текст, вам не нужен Json.