入社後の研修でやらなかった範囲が苦手すぎて毎度躓きます。
当たり前のように現場ではJSONが使われていて
当たり前のように人名のイメージしかわかなかった人レベルのメモまとめです。
JSONとは
"JavaScript Object Notation"
「JavaScriptの中でオブジェクトを記述する書式」
データフォーマット(データを扱う際の決まりごと、CSVやXML)の一種。
特に表で表しにくい構造のデータに適している。
拡張子は.json
書式
基本的にkey(名前):value(値)
の形で記述。
このかたまりをメンバーという。
メンバーを[]
(配列)や{}
(オブジェクト内)で括る。
そうすれば、名前を指定することでデータを呼び出せるようになる。
[
"user01:{
"id":0001,
"name":"ヤマダ タロウ",
"age":24
},
user02:{
"id":0002,
"name":"スズキ ハナコ",
"age":32
}
]
例えば、「user01の年齢(age)」を指定すると"24"が返ってくるといった感じ。
上記のJSONをXMLで書き換えると以下のようになる。
<users>
<user01>
<id>0001</id>
<name>ヤマダ タロウ</name>
<age>24<age>
</user01>
<user02>
<id>0002</id>
<name>スズキ ハナコ</name>
<age>32<age>
</user02>
</users>
行数は同じでも記述量が違うため、JSONの方がすっきりして見えるし、
XMLをJSONにすることで通信時のデータ量削減もできる。
※ XMLについてはこちらでざっくりまとめています。
key(名前)
コロン:
の左側に書くひと
XMLのタグと同様、任意の情報名を指定できる。
"name"
のように囲う。
プログラミング言語の変数名的な使い方をするイメージ。
value(値)
コロン:
の右側に書くひと
keyよりもルールが細かいため注意。
■ 文字列 - string
"apple"
など、任意の情報を""
で囲んだ記述
■ 数値 - number
1
や5.55
など、数値をそのまま書いた記述
■ 真偽値 - boolean
true
もしくはfalse
を表現する記述
■ ヌル値 - null
null
(値が空っぽ)を表現する記述
■ オブジェクト値 - object
{}
でオブジェクトを指定する記述
階層構造を持つことができる
{
"user":{
"id":1,
"name":"George"
}
}
■ 配列値 - array
[]
で配列を指定する記述
配列要素の種類は一致していなくてもよい
配列内にオブジェクト(後述)や配列が入っているパターンもある
配列内の要素はインデックスで取り出す
{
"color_list":["red", "blue", "green", "yellow"],
"number_list":[1, 28, 396],
"object_list":[
{"id":1, "name":"George"},
{"id":2, "name":"Nancy"}
]
}
(個人的には、情報を持っているのがオブジェクト{}
、値を持っているのが配列[]
というイメージで判断しています)
おわりに
今回は「初めてJSONにぶち当たったときの読み方」といったところでまとめました。
使い方についてはまだまとめきれていないので、追々やっていければと思います。