2000年代初頭、Webアプリケーションはサーバーとブラウザの間で構造化データを移動させる必要があった。XMLには勢いがあったが冗長で、パーサーとスキーマを必要とした。JavaScriptでそれを扱うのは苦痛であり、まさにそこがデータの行き着く先であった。

ダグラス・クロックフォードは、名前と値のオブジェクトおよび順序付きリストという2つの普遍的な構造に基づく軽量フォーマットとしてJSONを仕様化し、意図的にJavaScriptプログラミング言語標準(ECMA-262、第3版)のサブセットに基づかせた。したがってブラウザはそれをネイティブに解析でき、json.orgの仕様は誰でも実装できるよう公開された。

JSONはまずWeb APIの構築者の間で広がり、その後あらゆる場所に広がった。2017年にIETFはRFC 8259「The JavaScript Object Notation (JSON) Data Interchange Format」を公開し、それはECMAScriptプログラミング言語標準に由来すると説明しており、Webサービスのデフォルトのデータ交換フォーマットとなった。

あなたを読み取る言語のサブセットであること

ネイティブなJavaScript構文により、最も重要なクライアントが追加の仕組みを一切使わずにそれを解析できた。

2つのデータ構造は、あらゆる主要言語のオブジェクトと配列に直接対応する。

オープンでシンプルな仕様が、ライセンスと学習の障壁を取り除いた。

勝利するフォーマットは、まさに最初の統合のコストを下げる。支配的な消費者のネイティブ構文に一致させることで、JSONは最初のブラウザ側での解析を無償にし、その後のあらゆる移植がそれに続いた。

RFC 8259は2017年にJSONをIETF標準として正式化し、事実上すべてのプログラミング言語がパーサーを同梱している。それはWeb APIのデフォルトのペイロードとなり、一世代のNoSQLドキュメントストアのモデルとなった一方、XMLはドキュメント中心のニッチへと後退した。

出典をたどる

出典

  1. RFC 8259: The JavaScript Object Notation (JSON) Data Interchange Format IETF · datatracker.ietf.org
  2. Introducing JSON (json.org) JSON.org · json.org