JSONとは何ですか? JavaScript オブジェクト表記法の完全な説明
簡単な回答
JSON は、キーと値のペアおよび配列を使用して構造化データを表すテキスト形式です。文字列、数値、ブール値、null、オブジェクト、配列の 6 つのデータ型をサポートします。 JSON は、Web サーバーとブラウザー間のデータ交換の標準形式です。無料の JSON フォーマッタを使用して、ブラウザで JSON を美しくし、検証します。
導入
JSON (JavaScript Object Notation) は、人間が読み書きしやすく、マシンが解析して生成しやすい軽量のテキストベースのデータ交換形式です。その名前にもかかわらず、JSON は言語に依存しません。Python、Java、Go、Ruby、および JavaScript だけでなく、事実上すべての最新のプログラミング言語で使用されます。 JSON は RFC 8259 によって定義されており、Web APIs、構成ファイル、および NoSQL データベースの主要なデータ形式です。
ステップバイステップ
-
JSON 構文を理解する
JSON では、オブジェクト (キーと値のペア) には中括弧 {} を、配列 (順序付きリスト) には角括弧 [] を、キーと値を区切るにはコロンを使用します。キーは二重引用符で囲まれた文字列である必要があります。値には、文字列、数値、ブール値、null、オブジェクト、または配列を使用できます。
-
6 つのデータ型を学習する
JSON は、文字列 (二重引用符で囲まれた)、数値 (int/float の区別なし)、ブール値 (true または false)、null、オブジェクト ({...})、および配列 ([...]) の 6 つのデータ型をサポートします。 JSON は、未定義、関数、日付、または NaN をサポートしません。
-
JSON 構造を認識する
JSON ドキュメントは、最上位のオブジェクトまたは配列のいずれかです。オブジェクトにはキーと値のペアが含まれます。配列には順序付けられた値が含まれます。構造体は任意の深さまでネストできます。オブジェクト値は別のオブジェクトまたは配列にすることができます。
-
JSON を解析して生成する
JavaScript では、JSON.parse(string) は JSON 文字列を JavaScript オブジェクトに変換し、JSON.stringify(object) は JavaScript オブジェクトを JSON 文字列に変換します。すべての現代言語には同等の機能があります。
例
単純な JSON オブジェクト
入力: 名前と年齢がわかる人
出力: {"name": "Alice", "age": 30}
入れ子構造の JSON
入力: 住所を持つユーザー
出力: {"name": "Alice", "address": {"city": "NYC", "zip": "10001"}}
JSON 配列
入力: 数字のリスト
出力: [1, 2, 3, 4, 5]
よくある問題
- 一重引用符の使用 —JSON では、すべての文字列とキーに二重引用符が必要です。一重引用符は無効です。
- 末尾のコンマ - オブジェクトまたは配列の最後の項目の後のコンマは、JSON の構文エラーです。
- コメント - 標準の JSON はコメントをサポートしません。コメントが必要な場合は、JSONC または JSON5 を使用してください。
- 引用符で囲まれていないキー - JavaScript オブジェクト リテラルとは異なり、JSON ではすべてのキーを二重引用符で囲む必要があります。
ヒント
- JSON は、その名前に反して言語に依存しません。最新の言語はすべて JSON をサポートしています。
- API リクエストと応答には JSON を使用します。これは、XML に代わる事実上の標準です。
- 400 エラーを回避するには、API リクエストで送信する前に JSON を検証してください。
- JSON フォーマッタを使用すると、ブラウザで JSON を瞬時に美しく、検証し、縮小できます。