JSON構文:ルールと例
JSONはシンプルに設計されていますが、正確に従わなければならない厳格な構文ルールがあります。1つの誤って配置されたカンマや間違った引用符文字により、JSON全体が無効になる可能性があります。このガイドでは、有効なJSONを書き、エラーが発生したときに素早く特定するために知っておく必要があるすべての構文ルールを説明します。
基本ルール
JSON構文はJavaScriptのサブセットに基づいていますが、クロスプラットフォームの互換性を確保するためのより厳格なルールがあります。これらのルールを理解することは、JSONを効果的に扱うために不可欠です。 最も重要なルール:JSONドキュメントは文字列に二重引用符を使用しなければならず、単一引用符は使用できません。JavaScriptは'こんにちは'と"こんにちは"の両方を許可しますが、JSONは"こんにちは"のみを受け入れます。同様に、JSONオブジェクト内のすべてのキーは、二重引用符で囲まれた文字列でなければなりません。JavaScriptオブジェクト{name: "太郎"}は有効なJavaScriptですが、無効なJSONです;{"name": "太郎"}と記述する必要があります。 JSONの空白は柔軟です。スペース、タブ、改行は、データに影響を与えることなく、可読性のためにトークン間に自由に追加できます。JSONにはコメントの概念がありません。末尾のカンマは厳密に禁止されています。 JSONは大文字と小文字を区別します。ブール値は小文字のtrueとfalseでなければならず、TrueとFalseではありません。同様に、nullは小文字でなければなりません。エンコーディングはUTF-8(推奨)、UTF-16、またはUTF-32でなければなりません。
一般的な構文エラー
経験豊富な開発者でも、JSON構文エラーを犯します。単一引用符のエラーは、JavaScriptから来た開発者の間で非常に一般的です。末尾のカンマは、JSONを編集する際に無数の解析エラーを引き起こします。 引用符のないキーはJavaScriptでは機能しますが、JSONでは機能しません。JSONにはコメント構文がありません。undefinedまたはNaN値の使用は、JSONに存在しないため失敗します。不一致の括弧は、複雑なJSONで簡単に作成できます。 エスケープシーケンスエラーは、文字列内の特殊文字が適切にエスケープされていない場合に発生します。先頭ゼロや16進表記などの不正な数値形式は、微妙なエラーを引き起こします。
ツールを試す
JSONフォーマッター