15
23

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

IT初心者がピンとこないJSON

Last updated at Posted at 2019-11-13

入社後の研修でやらなかった範囲が苦手すぎて毎度躓きます。

当たり前のように現場ではJSONが使われていて
当たり前のように人名のイメージしかわかなかった人レベルのメモまとめです。

JSONとは

"JavaScript Object Notation"
「JavaScriptの中でオブジェクトを記述する書式」
データフォーマット(データを扱う際の決まりごと、CSVやXML)の一種。
特に表で表しにくい構造のデータに適している。
拡張子は.json

書式

基本的にkey(名前):value(値)の形で記述。
このかたまりをメンバーという。
メンバーを[](配列)や{}(オブジェクト内)で括る。
そうすれば、名前を指定することでデータを呼び出せるようになる。

sample.json
[
  "user01:{
    "id":0001,
    "name":"ヤマダ タロウ",
    "age":24
  },
  user02:{
    "id":0002,
    "name":"スズキ ハナコ",
    "age":32
  }
]

例えば、「user01の年齢(age)」を指定すると"24"が返ってくるといった感じ。
上記のJSONをXMLで書き換えると以下のようになる。

sample2.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

15.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にぶち当たったときの読み方」といったところでまとめました。
使い方についてはまだまとめきれていないので、追々やっていければと思います。

参考

  1. JSONの形式を完全理解して読み書きできるようになるための記事
  2. JSONとはなにかpackage jsonやjson shcemaなども含めて解説!
  3. JSONってなにもの?
  4. 非エンジニアに贈る「具体例でさらっと学ぶJSON」
  5. JSON入門
15
23
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
23

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?