次の JSON テキストは有効ですか?それとも最上位の値は配列またはオブジェクトでなければなりませんか?
4.0
"Hello World"
true
関連する過去の質問 (有効な JSON の最小値は何ですか?など)。、およびこの単純な文字列は有効な JSON と見なされますか? ではないという結論に達しました。これは、 RFC-4627の JSON 形式の説明に基づいており、次のように述べられています。
2. JSON 文法
JSON テキストは一連のトークンです。トークンのセットには、6 つの構造文字、文字列、数字、および 3 つのリテラル名が含まれます。
JSON テキストは、シリアル化されたオブジェクトまたは配列です。
JSON-text = object / array
これらは、6 つの構造的特徴です。
[...]
ただし、RFC-4627 ステータスでは、「いかなる種類のインターネット標準も指定しない」と宣言されています。代わりに、JSON の公式標準は、最近公開されたECMA-404です。RFC-4627 とは異なり、ECMA-404 の有効な JSON テキストの説明には、オブジェクトまたは配列であるという要件は含まれていません。たとえば、上記の引用に最も似ているセクションには、その要件がありません。
4 JSON テキスト
JSON テキストは、JSON 値の文法に準拠する Unicode コード ポイントから形成された一連のトークンです。トークンのセットには、6 つの構造トークン、文字列、数字、および 3 つのリテラル名トークンが含まれます。
6 つの構造トークン:
[...]
この新しい仕様を考えると、エンコードされた非配列の非オブジェクトのトップレベル値は有効な JSON テキストと見なされますか?