概要

JSON(JavaScript Object Notation)は、JavaScript のオブジェクト記法をベースにした、軽量なデータ交換フォーマットである。

元々は JavaScript の一部であったが、その人間にとっての読みやすさと、機械にとっての解析のしやすさから、言語やプラットフォームを問わず、Web API でのデータのやり取りや設定ファイルなど、幅広い用途で利用されている。

主な特徴

  • 人間にとっての可読性: テキストベースであり、構造がシンプルなため、人間が直接読んで理解しやすい。
  • 機械にとっての解析の容易さ: 多くのプログラミング言語で、JSON を解析・生成するためのライブラリが標準的に提供されており、取り扱いが容易である。
  • 言語からの独立性: 特定のプログラミング言語に依存しない、プレーンテキストのデータ形式である。

基本的な構文

JSON は、以下の基本的な要素で構成される。

  • オブジェクト (Object): {} で囲まれた、キーと値のペアの集まり。キーは文字列で、値には様々なデータ型が使える。
  • 配列 (Array): [] で囲まれた、値の順序付きリスト。
  • 値 (Value): 文字列、数値、オブジェクト、配列、真偽値 (true/false)、null のいずれか。
{
  "name": "Taro Yamada",
  "age": 30,
  "isStudent": false,
  "courses": [
    { "title": "History", "credits": 3 },
    { "title": "Math", "credits": 4 }
  ],
  "address": null
}

YAML との比較

JSON は、しばしば YAML と比較される。

  • 可読性: 一般的に、YAML はインデントや引用符の省略により、人間にとってより読みやすいとされる。
  • コメント: JSON は仕様としてコメントをサポートしていないが、YAML# を使ったコメントが利用できる。
  • 厳密さ: JSON は構文がより厳密であり、プログラムによる生成や解析がしやすい。一方、YAML は柔軟性が高い分、解釈が複雑になる場合がある。