JSON(JavaScript Object Notation)
JSONは、データを軽量に記述するためのフォーマットで、
プログラミング言語に依存せず広く利用されています。その名は
JavaScriptのオブジェクト表記法に由来し、特にウェブブラウザや
ウェブアプリケーションで頻繁に使用されています。JSONは
2006年に最初にRFC 4627として定められ、その後も何度か改訂されてきました。最新の仕様は
2017年に発表されたRFC 8259です。
特徴と仕様
JSONの構文は非常にシンプルで、オブジェクトと
配列を用いたデータ構造を持っており、これにより複雑なデータを効率よく表現可能です。具体的には、オブジェクトはキーと値のペアを、
配列は値の順序を示すために使用されます。支持されている
データ型は以下の通りです:
- - オブジェクト
- - 配列
- - 数値(整数や浮動小数点数)
- - 文字列(ダブルクォーテーションで囲む)
- - 真偽値(trueまたはfalse)
- - null
また、JSONは基本的に
UTF-8で
エンコードされるため、国際的なデータ交換にも適しています。この点では、以前の仕様であった
Unicodeエンコードから進展しています。
JSONの利用
JSONは特に
ウェブアプリケーションにおいて、
サーバーとクライアント間でデータをやり取りするための主要な手段とされています。
JavaScriptを使用する場合、`JSON.parse`メソッドを利用して文字列をJSONオブジェクトに変換するのが一般的です。これは、eval関数に比べてセキュリティ上のリスクを避けるためです。
特に
Ajax技術を利用する際には、
XMLHttpRequestを通じてJSONデータを非同期に受け取ることができます。JSON形式で取得されたデータは、
JavaScriptオブジェクトとして簡単に操作可能です。
JSONの拡張と他のフォーマット
JSONには、そのシンプルさと柔軟性から多くの関連技術が存在します。例えば、
JSONPathはJSONから特定のデータを抽出するためのクエリ言語です。また、JSON LinesやJSON5のような拡張仕様もあり、より人間に優しい形式や
ストリーミングに適した形式を提供します。
さらに、
YAMLとは互換性があり、
YAMLのサブセットとして扱うことができますが、JSON特有の制約がいくつか存在します。XMLとは異なり、
マークアップ言語ではなく、シンプルなデータフォーマットとしての特性が際立っています。
まとめ
総じて、JSONは多様な
プログラミング言語で利用でき、幅広い用途でのデータ交換を可能にする強力なフォーマットです。軽量でありながら拡張性も持つJSONは、今後もデータ通信の主要な手段であり続けるでしょう。