今回書く事
JSONっていう言葉を聞いて、ちんぷんかんぷんだったので、今回基礎を学習し直してみました。
13日の金曜日に出てくるアイツじゃないですよ。
JSONとは
JavaScript Object Notation
の略です。
「あれ、JavaScriptって言葉が入っているな」と思った方、よく見つけてくれました。しかし、実はJavaScriptの一種というわけではなく、Wikipediaによると、
データ記述言語の1つである。軽量なテキストベースのデータ交換用フォーマットでありプログラミング言語を問わず利用できる[1]。名称と構文はJavaScriptにおけるオブジェクトの表記法に由来する。
と書かれており、言い換えるとJavaScriptのような書き方をするからその名前付けちゃった。みたいな感じみたいです。
さて、JSONの意味をwikiの説明で理解できた人は、ここで読むのをやめていただいて結構です。
まだよくわからないよという方々は、僕と一緒にもう少し学習していきましょう。
データ記述言語
では、先ほどの引用で述べられていた、データ記述言語とはなんでしょうか?
結論から言うと
データのやりとりをするための、ファイルの記述方法とその形式
です。
もう少し噛み砕くと
たくさんある書き方ルールの中のひとつが「JSON」です。
ということができます。
最も簡単な例でいくと、HTMLと言う言語は、実際に表示されるページレイアウトを構築するためのファイルの記述方法とその形式ということができます。
つまり、**「データを送るときは、こういう風に書いて、拡張子(ファイル名の.の後に続くファイルの種類を指定するもの)付けようね〜」**というルールを示しているのが、JSONになリます。
JSONの基本的な書き方
ここまでをいったんまとめると
- JavaScript Object Notationの略称。「JSなん?」と思うかもしれないが、JavaScriptとの相性がよく、記法も似ていることからこう名付けられている。(Notaion = 表記)
- JSONは、データ記述言語である。要するに、データを送るときの書き方のルールである。
ということです。
それでは、ここからは基本的な書き方を見ていきましょう。
まず、基本的な文法です。
{ "名前": "値"}
具体的には
{
"name": "齋藤"
}
複数入れることもできます。
{
"name": "齋藤",
"age": 24,
"gender": "男"
}
ふむふむ。確かにJSのオブジェクト作成の書き方にそっくり。
const animal1 {
"legs": 4
"name": "ライオン"
"Cry": "がおー"
}
ちなみに、JSONでもJSでも、"キー": "バリュー"
という風に指定しています。
ここまで読んでくださった方は、あとは【JavaScript】ゼロから始めるJSON入門を読んで頂ければと思います。より詳しく、わかりやすく文法のことを説明されていますので、是非に。
なぜJSONを見直したか
以上のように、JSONの概念は理解していただけたでしょうか。
では最後に、僕が今回JSONを理解しなおそうと思ったきっかけについて話します。
結論から言うと、APIと言うワードに付随してたくさんJSONという言葉が出てきたからです。
APIとは
Application Programming Interface
の略で、
APIとはソフトウェアの機能を共有できる仕組みのことをいいます。
(参考: APIとは?意味やメリット、使い方を世界一わかりやすく解説)
と説明されています。
例えば、SNSのアカウント情報を利用して会員登録できるような仕組みがありますよね。このQiitaに登録するときも、おそらくいくつかの選択肢を提示されたと思います。あれも、APIの一つです。
APIが、XMLからJSONへ
話を戻して、このAPIを理解するにあたって、JSONがなんちゃらこうちゃら・・・と出てきたことを踏まえると、ソフトウェア構築の核となる「データ」を送ってAPIが成立していることを踏まえると、きっとJSONは至る所で用いられているんだろうなという仮説を立てました。
そこで調べてみると、こういう歴史があったみたいです。
Web APIが出始めた頃はXML形式でデータの送受信を行うものが多かった覚えがあります。...(中略)しかしXML形式は可読性が悪い、タグが多く手続きが面倒、文字が多い分送受信コストが高いなどの理由によって次第にJSONフォーマットに置き換わるようになってきます。
(参照: 5分で分かるWebAPI)
やはり、API(WebAPI)を実現するための手段として、XMLと呼ばれるものから、JSONに変化した。つまり、APIを用いるためには、JSONの知識が不可欠であることがわかります。
このように、JSONを理解してみると、その存在意義が明確になったかなと思います。
最後に
最後まで読んでいただき、ありがとうございます。
ソースコード、記事の書き方について「もっとこうしたほうがいいよ!」というご意見、「そこどうなっているの?」というご質問など、お待ちしております。