Back

いかにしてJSONはXMLを退けてWeb標準になったのか

2000年代初頭まで、XML (eXtensible Markup Language) はWebデータ交換の王座に君臨していました。SOAPプロトコルと共に、エンタープライズ環境を支配していました。

しかし、今はどうでしょうか?ほとんどのREST APIは JSON (JavaScript Object Notation) を使用しています。XMLは主にレガシーシステムや特定の構成ファイルに追いやられています。

一体何がJSONをそれほど魅力的にし、XMLを押しのけてWeb標準にさせたのでしょうか?

1. 可読性と簡潔さ(Less is More)

最も直感的な違いはその外観にあります。同じデータを表す2つの形式を比較してみましょう。

XML:

<user> <id>1</id> <name>John Doe</name> <email>[email protected]</email> </user>

JSON:

{ "id": 1, "name": "John Doe", "email": "[email protected]" }

XMLは開始タグと終了タグの繰り返し(<id>...</id>)を伴い、実際のデータよりもタグが多くのスペースを占めることがよくあります。一方、JSONは中括弧 {} とコロン : を使用して構造を表すため、はるかに簡潔で人間が読みやすくなっています。

2. 言語ネイティブサポート

その名の通り、JSONの最も強力な武器は JavaScriptとの互換性 です。

WebブラウザにはJavaScriptエンジンが組み込まれています。JSONデータの構文はJavaScriptのオブジェクトリテラルとほぼ同一であるため、複雑なパーサーを必要とせず、単一の JSON.parse() 呼び出しで即座に使用可能なオブジェクトに変換できます。

一方、JavaScriptでXMLを扱うには、DOMパーサーを介してツリーをトラバースする必要があり、これは面倒でした。フロントエンド開発がJavaScriptに移行するにつれて、JSONの地位は揺るぎないものになりました。

3. 明示的なデータ型

XMLでは、すべてが基本的にテキストです。数値と文字列を区別するには、多くの場合、別のスキーマ(XSD)が必要です。

しかし、JSONには基本的なデータ型のサポートが組み込まれています。

  • 文字列 ("string")
  • 数値 (123, 3.14)
  • ブール値 (true, false)
  • 配列 ([...])
  • オブジェクト ({...})
  • Null (null)

この型サポートにより、データを交換する際の曖昧さが減少し、開発者のエラーを防ぐのに役立ちます。

結論

もちろん、XMLが完全に消えたわけではありません。そのメタデータ機能は、ドキュメント構造が複雑であったり、厳密な検証が必要な金融や医療などの分野で依然として有用です。

しかし、「データを軽く、速く交換する」というWebの核心的価値において、JSONは圧倒的な効率性を実証しました。

テクノロジーの世界では、「より複雑で機能が豊富」なものが常に勝つとは限りません。時には、JSONのように「シンプルで目的に合っている」ものが世界を変えることがあります。

TechJSONXMLWebHistory

関連ツールを見る

Pockitの無料開発者ツールを試してみましょう