JSONとは?基本構文とよくあるエラーを初心者向けに解説
公開日:
JSON(JavaScript Object Notation)は、APIのレスポンスや設定ファイルなど、あらゆる場面で使われるデータ交換フォーマットです。見た目はシンプルですが、いくつかの厳格なルールがあり、そのルールを知らないと些細なミスで構文エラーに悩まされることになります。この記事ではJSONの基本構文から、実務でよく遭遇するエラーとその直し方までを解説します。
JSONの基本構文
JSONではデータを「オブジェクト({})」「配列([])」「文字列」「数値」「真偽値(true/false)」「null」の6種類の値で表現します。オブジェクトのキーは必ずダブルクォートで囲む必要があり、シングルクォートやクォートなしのキーはJSONとしては無効です。
例えば {"name": "田中", "age": 30, "active": true} のように、キーと値をコロンで結び、複数のペアはカンマで区切ります。配列は [1, 2, 3] のように角括弧で値を並べます。
JSONとJavaScriptオブジェクトの違い
JSONはJavaScriptのオブジェクトリテラルとよく似ていますが、いくつかの制約があります。キーには必ずダブルクォートが必要で、末尾のカンマは許可されません。またJavaScriptでは書けるコメント(//や/* */)や、関数・undefined・Dateオブジェクトなどはそのままでは表現できません。
これらの違いを知らずにJavaScriptのオブジェクトをそのままJSONとして扱おうとすると、JSON.parse()で構文エラーが発生する原因になります。
よくある構文エラーとその直し方
最も多いミスは配列やオブジェクトの最後の要素にカンマを付けてしまう「末尾カンマ」です。次に多いのが、シングルクォートを使ってしまうケースや、キーのクォート忘れです。いずれもJSONの仕様上は許可されていません。
また、文字列内に改行やダブルクォートをそのまま含めてしまい、エスケープ処理を忘れるケースもよく見られます。整形ツールでエラー箇所をハイライトしながら1つずつ確認すると、原因を特定しやすくなります。
実務での使いどころ
JSONはREST APIのリクエスト・レスポンス形式として最も一般的に使われているほか、package.jsonやtsconfig.jsonのような設定ファイル、ブラウザのlocalStorageに保存するデータの形式としても広く使われています。
複雑にネストしたJSONを目視で確認する際は、整形ツールでインデントを揃えると構造を把握しやすくなります。