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の可読性が高いから。