HTTPサーバーとWeb開発

109. JSON とは

オープン系でのデータ・ベース表現はかつては XML がほとんどであったが
最近では JSON ( = JavaScript Object Notation ) と呼ばれる
データ・ベース表現の使用が多くなってきている。
XML が構造化表現であるのにくらべて JSON は比較的、単一レベルのデータ・ベースの
表現として直感的であるのでわかりやすい。
XML のようなタグの組合せもないので説明が要らないほどわかりやすい
データ・ベース表現である。

【 例 】商品マスター・ファイル : SHOHIN

コード 商品名 単価 品種コード
NV-CF1 Cカセット編集ビデオ 58000 0002
NV-BS50S ビデオ画王 200000 0002

これを XML で表現すると

<?xml version="1.0" encoding="Shift_JIS"?>
<商品レコード>
  <コード>NV-CF1  </コード>
  <商品名>Cカセット編集ビデオ  </商品名>
  <単価>58000</単価>
  <品種コード>0002</品種コード>
</商品レコード>
<商品レコード>
  <コード>NV-BS50S  </コード>
  <商品名>ビデオ画王  </商品名>
  <単価>200000</単価>
  <品種コード>0002</品種コード>
</商品レコード>
・
・

JSON で表現した場合は

{
  {
    "コード": "NV-CF1  ",
    "商品名": "Cカセット編集ビデオ  ",
    "単価": "58000",
    "品種コード": "0002"
  }
  {
    "コード": "NV-BS50S  ",
    "商品名": "ビデオ画王  ",
    "単価": "200000",
    "品種コード": "0002"
  }
  ・
  ・
}

となる。
比べてみてどうだろうか ?
XML は両端のタグで挟む型式になっているので冗長であるが
JSON の場合は 見出し = 値 の形式表現なので見やすくわかりやすい。

これまで Ajax ( = Asynchronous JavaScript + XML ) では
XML を戻すこととされていたが
何も XML である必要はない。( 実際は HTML を戻す場合もある )
Ajax でも XML よりは JSON を戻す傾向が高まっている。
JavaScript ライブラリーの主流は jQuery であるが jQuery でも JSON による
データ・ベース表現が一般的になりつつある。

最近の流行としては IBM Watson は結果としてクライアントに HTML を戻すことも
できるが多くは JSON を戻すことを前提として作られている。
XML を戻すことはない。
これほど現在では JSON が主流を占めつつある。