JSON
JSON(JavaScript Object Notation)は、JavaScript のオブジェクトリテラルに基づく軽量なデータ交換形式である。キー・バリューペアと配列を使う。
目的
言語中立で、人間が読め、解析しやすいデータ交換形式を提供する。XML に代わる Web API の主流形式である。
メカニズム
2 つの構造の上に構築される:キー・バリューペアのコレクション(オブジェクト {})と順序付きリスト(配列 [])。値は文字列(二重引用符)、数値、真偽値、null、オブジェクト、配列である。構文は厳格である(二重引用符、末尾カンマなし、コメントなし)。RFC 8259 は UTF-8 を要求し、BOM を禁じる。
ユースケース
- Web API のリクエストとレスポンス
- 設定ファイル(package.json、tsconfig)
- NoSQL ドキュメント保存(MongoDB)
- ログとイベントデータ
例
- 入力
{"name":"Ada","age":36}OutputThe object {name:"Ada", age:36}Keys must be double-quoted
よくあるエラー
- Using single quotes or unquoted keys (invalid JSON)
- Keys and string values must use double quotes
関連用語
YAML
YAML(YAML Ain't Markup Language)は、設定向けのデータ直列化形式で、インデントで階層を表し、コメントと参照をサポートし、JSONよりも手書き編集に適する。 用語集
XML
XML(Extensible Markup Language)は、タグツリーでデータを記述するW3C標準のマークアップ言語で、名前空間、スキーマ検証、スタイル変換をサポートする。 用語集
JSON5
JSON5 は JSON のスーパーセットである。単一引用符、引用符なしキー、コメント、末尾カンマ、NaN/Infinity、16 進数を許可し、手書きの設定に向く。 用語集
CBOR
CBOR(Concise Binary Object Representation)は JSON のバイナリ版であり、RFC 8949 で標準化され、よりコンパクトでより多くのデータ型をサポートする。 用語集
MessagePack
MessagePackは効率的なバイナリシリアライゼーション形式で、JSONに似ているがよりコンパクトであり、多言語サポートを持ち、RPCやキャッシュに使われる。 用語集
JSON Schema
JSON Schema は JSON 文書の構造を記述する語彙である。型、制約、検証規則を定義し、JSON のスキーマ標準である。 用語集
関連ツール
JSON フォーマッター
Format, minify, or sort JSON online。無料、プライベート、100%クライアントサイド。 ツール
JSON バリデーター
Validate JSON and pinpoint syntax errors by line and column。無料、プライベート、100%クライアントサイド。 ツール
JSON YAML 相互変換ツール
Convert between JSON and YAML formats online。無料、プライベート、100%クライアントサイド。 ツール
JSON XML 相互変換ツール
Convert between JSON and XML formats online。無料、プライベート、100%クライアントサイド。 ツール
JSON CSV 相互変換ツール
Convert between JSON and CSV formats online。無料、プライベート、100%クライアントサイド。 ツール
JSON から TypeScript への変換
Infer TypeScript interfaces from JSON。無料、プライベート、100%クライアントサイド。 ツール