JSONのまとめ(メモ用)
自分のメモ用に、学んだことを書きます。
業務でAPIを触る機会があり、「JSONは知っているか?なにかと使うだろうから覚えておくといい」という話をされたので、復習も兼ねてJSONについてまとめていきます。
※まだメモ用程度なので、今後も追記していく予定です。
JSONとは
JSONとは「JavaScript Object Notation」の略で、データをやりとりする形式の一種。
もともとはJavaScriptと他の言語をやりとりをするために考えられた、オブジェクトを表記するための書き方の決まりごとである。
ファイルの中身はただのテキストデータなので人間が見ても内容を理解することができる。ファイルの拡張子は."json"。
下記は東京タワーの住所を表しているJSONファイルである。
{
"address1": "東京都",
"address2": "港区",
"address3": "芝公園",
"kana1": "トウキョウト",
"kana2": "ミナトク",
"kana3": "シバコウエン",
"prefcode": "13",
"zipcode": "1050011"
}
JSONの構造をみていく
JSONは右と左に文字があり、真ん中が:(コロン)で区切られている。
左辺は「メンバー」と呼ばれ、文字列の値で書かれている。
右辺は「値」と呼ばれ、全部で6種類存在する。
まずは右辺の説明から。
文字列値(string):"abc"や"def"等、任意の情報をダブルクオートで囲んだ記述。
数値(number):1や23.45等、数値をそのまま書いた記述。
真偽値(boolean):true及びfalseという「yes/no的な意味合い」を表現する特別な記述。
ヌル値(null):nullという「値がカラッポであること」を表現する特別な記述。
配列値(array):[]や[1]や[1,true]等、0〜複数個の値の並びを表現する記述。
オブジェクト値(object):{}や{"foo":"bar"}や{"foo":"bar", "baz":null}。
※一方、下記は「値」ではありません。
abcやd"ef"や"ab(全体がクオートされていなかったり閉じていない。)
TRUEやNULL(大文字と小文字は区別する。)
[1][2,3]や[1],[2,3]や{}{}(複数の値がつながったものは値ではない。)
次に左辺について。
"foo": "hoge"
"bar":"fuga"
"baz":1
"qux":[]
※一方、下記は「メンバー」ではありません。
1:2(左辺が文字列値じゃない。)
"foo";"bar"や"foo"や1(コロンがない。)
"foo":"bar":"baz"(コロンが2つ以上ある。)
"foo":hoge(右辺が値じゃない。)
【非エンジニアに贈る「具体例でさらっと学ぶJSON」】より抜粋
なぜJSONが通信用のデータ交換として利用されているのか
テキストデータであるJSONは軽量かつオブジェクト構造になっている。
このことから、これまで使われていた冗長なXMLデータに比べて通信時のデータ量を削減することができる。
また、構造をみてわかるとおり、JSONは配列値からオブジェクトまで幅広く取り扱うことができる。このことから、複雑なデータもJSONでは取り扱うことができるとわかる。
引用元
Author And Source
この問題について(JSONのまとめ(メモ用)), 我々は、より多くの情報をここで見つけました https://qiita.com/yummy_mm/items/746b451978ba58aee967著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .