×
言語処理系と開発実行モデル

JSON(JavaScript Object Notation)は、テキストベースのデータ交換フォーマットとして、現代のソフトウェア開発において不可欠な技術となっています。もともとはウェブブラウザ上で動作するプログラミング言語であるJavaScriptの一部として、オブジェクト(データのかたまり)を記述するための構文から派生しました。しかし、そのシンプルさと扱いやすさから、現在ではJavaScriptという枠を超えて、ほぼすべての主要なプログラミング言語(Python、Java、Ruby、PHPなど)で標準的にサポートされています。
JSONがこれほどまでに普及した最大の理由は、人間にとって読み書きしやすい直感的なテキスト形式でありながら、コンピュータのプログラムにとっても解析(パース)やデータ生成が極めて容易であるという点にあります。構造が複雑になりがちなXMLと比較すると、JSONはデータ全体を括弧 {}[] で囲み、キーと値をコロン : で結ぶという非常にシンプルな規則で記述されるため、データ量が少なく軽量です。これにより、ネットワークを通じてデータを送受信する際の通信量を抑えることができ、通信速度の向上にも寄与しています。
JSONでは、文字列、数値、真偽値(true / false)、nullといった基本的なデータ型に加え、配列(リスト)や入れ子になったオブジェクト(階層構造)を柔軟に表現することができます。近年では、スマートフォンアプリとサーバー間の通信、ウェブサイトの一部を動的に書き換えるAjax通信、さらにはさまざまなウェブサービスが提供するWeb API(RESTful APIなど)において、データをやり取りするためのデファクトスタンダード(事実上の標準)として圧倒的なシェアを誇っています。また、NoSQLと呼ばれる一部のデータベース(MongoDBなど)では、データをJSON(正確には拡張形式のBSONなど)の形式でそのまま保存・管理する仕組みを採用しており、システム全体でデータの形を統一しやすいというメリットももたらしています。