JSONとはなんぞや
はじめに
2020/4/1にWEB系エンジニアになりました。
scala/Play TypeScript/Angular
投稿は学習のアウトプットが目的です。
毎日投稿という遊びを密かにやっております。
ことの発端
会社でJSONとはなんですか?という哲学的な質問をされたのですが
うまく答えられなかったので改めてJSONとは何なのかを調べてみました。
JSONの5W1H
いつ作られたの?
作られた年代は詳しくはわかっていません。
1996年にデータの交換用として使用されているのを観測し、普及しきました。
そのため1996年にJSONが発見された。という表現がされています。
どこで使われているの?
アプリケーション間のデータのやりとりなどで使用されます。
主なケースとしてはAPIへのリクエスト受けて値を返す際にJSONで返しています。
誰が作ったの?
Douglas Crockfordさんが開発されたそうです。偉大ですね。
Douglas Crockford
現在では国際的な標準仕様が統一されておりECMA-404 2nd editionが規定となっています。
JSONとは何?
JavaScript Object Notationの略からJSONと呼ばれています。
JavaScript のデータ定義文をベースとした、簡易的なデータ定義言語です。
下記のリンクをクリックすると郵便番号から住所情報を返すAPIにリクエストすることができます。
百聞は一見にしかず、まずはクリックして見ましょう。
郵便番号で住所を検索するAPI
構造化されたデータが表示されましたか?
これがJSONになります。
なぜJSONを使用するの?
JSONは構造も単純で、各言語やライブラリでも扱いが簡単なためよく利用されています。
他にもXMLというデータ構造もありましたが、現在では簡易的なJSONが利用されるケースが増えています。
子要素が一つの場合にXMLではそれが配列なのか識別することはできないが、JSONでは配列かどうかを識別できるという利便性もあります。
どのように使うの?
基本形は以下のようにKeyとValueのオブジェクトになります。
{ "animal": "Dog" }
,(カンマ)で区切ることで複数のオブジェクトを扱うことができます。
{ "animal": "Dog", "name": "Hachi" }
以下のように改行とインデントで形を整えることもできます。
{
"animal": "Dog"
}
各言語やフレームワークにはJsonを扱うためのライブラリが提供されているので、それを利用してJsonの値を取得して表示したり加工したりすることができます。