Ответ 1
Дуглас Крокфорд опубликовал комментарий на этот пост в Google+, который помог мне начать разъяснять вещи:
JSON - это просто грамматика, а грамматика включает числа и строки. Использование JSON обязательно должно быть более ограничительным. RFC-4627 является одним из возможных вариантов использования и никогда не был стандартом для самого JSON.
Мы не можем сказать, что не-массивные не-объекты JSON-тексты, как правило, недействительны, просто недействительно использовать их с типом интернет-носителя application/json
, на RFC-4627.
Представления не-объектных значений без массива являются допустимыми текстами JSON для ECMA-404, который является единственным в настоящее время стандартом, который может быть идентифицирован как "спецификация JSON".
Однако выясняется, что вскоре IETF опубликует замену RFC-4627, которая также будет спецификацией JSON. В своем последнем проекте все еще есть ограничение на тексты JSON, но также упоминается, что JSON указан в нескольких местах и что эти спецификации несколько отличаются. В проекте конкретно упоминается, что определение JSON в ECMA-262 (спецификация ECMAScript/JavaScript) не разделяет ограничение значения верхнего уровня.
Следовательно, вопрос о том, являются ли не-объектные не-массивы действительными тексты JSON, необходимо устранить:
Является ли "hello"
допустимым текстом JSON, указанным в RFC-4627 и его преемником?
Нет.
Является ли "hello"
допустимым текстом JSON, указанным ECMA-404 и ECMA-262?
Да.