JSONとは
JavaScript Object Notationの略でデータフォーマットの種類です。
web技術で、データ通信(APIとか)をする際によく利用されます。
オブジェクトの中身はkey:value
の形で表現されます。
特徴
- 複雑なデータ構造でも簡単に表現できる
- xmlなどと比較してデータ量が小さい
- JavaScriptで使いやすいデータ形式
複雑なデータ構造でも簡単に表現できる
基本的に、JSONではかっこを使ってデータ型を表現します。
基本的に、以下のかっこしか使いません。
これを組み合わせることで、複雑なデータ構造も表現します。
- オブジェクト:
{}
- 配列:
[]
{}
が出てきたら、「これはオブジェクトだな」、
[]
が出てきたら、「これは配列だな」と考えればOKです。
xmlなどと比較してデータ量が小さい
以下はkeyがdata
、valueがhoge
のデータをそれぞれのデータ形式で表現したものです。
xml形式の場合
<data>hoge</data>
json形式の場合
{"data": "hoge"}
xmlではvalueを<key>
で囲っているので、その分データが冗長です。
JavaScriptで使いやすいデータ形式
JSONはJavaScriptで扱うデータと全く同じ構造をしています。
例
例を見るのが一番わかりやすいと思います。
skill
を配列で持った、オブジェクトをJSONで表現すると、以下のようになります。
{
"name": "yamada",
"age": 24,
"skills": [
{"language":"html", "type": "frontend"},
{"language": "css", "type": "frontend"},
{"language": "php", "type": "backend"}
],
"description": "webエンジニアの山田さん"
}
JavaScriptで扱うときは、データを変数に入れて利用することが多いため、
data
という変数に上のデータを入れた場合、以下のような使い方ができます。
console.log(data.name); // yamada
console.log(data.age); // 24
console.log(data.skills[1].language); // css