JSON

JavaScript のオブジェクト記法からインスピレーションをうけて作られたデータ表現方法。

JavaScript Object と JSON の違い

JSON は JavaScript オブジェクトの仕様を完全に満たすので、JavaScript でネイティブのオブジェクトとして運用可能。 しかし、逆は無いので同じではない。JSON のほうがやや条件が厳しい。

一番大きく違うのは、JavaScript Object が JavaScript のプログラミングを構成する中心要素に対して JSON が単なる「データ表現方法」だということ。 つまり意味としては JavaScript Object よりも、XML や CSV に近い。

データ表現方法としての JSON

JSON はデータの表現方法であるのだから、すなわちそれはデータの定義でなくてはならない。

JSON は構造化された key と value の集合体なので、これもってしてデータ定義とすることになる。

JavaScript Object というのは基本構造が連想配列なので、そのように使われることが多い。 よくあるのが、id 等のユニーク値を key とし、その指し示すモノを value とするやり方である。 しかし、JSON はデータの定義なのでこのようにはならない、ユニーク値のような value 的な全データにおいて毎回変わるようなものが key の値になり得ない。 JSON はデータ表現形式であることからもこれは明らかである。

他にも、内包するデータの内容によって key が増減したり value の型が変わるようなものがあるがそういうモノも JSON においてはおかしいということがわかるだろう。

ってか、そんなのデータじゃないし。

JSON はWebの API 等で事実上標準になっているデータフォーマットである。 様々な環境間で交換されうる存在である。ここに重要性があって、 JavaScript の Object 的な過度の柔軟さは期待されていない。 様々な環境なので、当然 JavaScript のようなグニャグニャに柔軟な環境もあるし、一方 Java のようなガチガチ言語もある。

json/start.txt · 最終更新: 2021-05-11 10:02 by ore