JSONとは
JSONとは
JSONは、データの構造をテキスト形式で表現するための標準フォーマットの一つ。
元々はJavaScriptでオブジェクトを簡単に表現できるように設計されたが、現在では多くのプログラミング言語でサポートされている。
特徴
- 軽量: JSONはシンプルなテキストベースの形式なので、読み書きが高速。
- 人間が読みやすい: シンプルな構造により、人間が読んでも理解しやすい。
- 言語に依存しない: 多くのプログラミング言語で扱うことが可能。
基本構造
JSONの基本構造は非常にシンプル。
-
オブジェクト: キーと値のペアを波括弧(
{}
)で囲む。{ "name": "Alice", "age": 30, "array": [1, 2, 3, 4, 5] }
データ型
JSONでは以下のデータ型が使用できる。
- 数値:
100
,3.14
- 文字列:
"Hello, world!"
- 真偽値:
true
,false
- null:
null
- オブジェクト:
{ "key": "value" }
- 配列:
[1, 2, 3]
実用例
設定ファイル
多くのアプリケーションやサービスでは、設定情報をJSON形式で保存しており、テキストエディタで簡単に設定を変更できる。
Web API
Web APIでは、サーバとクライアント間でデータをやり取りする際にJSONがよく使用される。JSONの形式は標準化されているため、異なるプログラミング言語やシステム間でも簡単にデータのやり取りができる。
YAMLとの比較
YAMLもJSONと同じくデータを構造化するためのフォーマットだが、いくつかの違いがある。
可読性
- YAML
インデントによる階層構造と、より少ない記号使用により、人間にとって読みやすい。 - JSON
一般的には機械向けであり、多くの括弧とコンマが含まれるため、人間には少し読みにくい。
速度
- JSON:
シンプルな構造により、機械が解析や生成が速い。 - YAML:
人間にとって読みやすい反面、パーサが多くの機能(例:マルチライン文字列、参照、継承など)を考慮する必要があるため、やや遅い。
用途
- Web開発:
Web APIやフロントエンド開発ではJSONが一般的。これは、JSONがJavaScriptと非常に相性がよく、Webブラウザでの処理が高速だから。 - インフラと運用:
クラウドコンピューティングや自動化ツール(Ansible, Kubernetes等), 仮想コンテナ(Docker)では、YAMLがよく用いられる。
設定が複雑になる場合や人間が直接設定を編集する場合に、YAMLの可読性が高いから。