Contents
JSONって?
JSONとは、JavaScriptにおけるオブジェクトの表記法を応用したデータ形式を指します。
JavaScriptでの扱いが簡単です。WebサービスやAjaxなどでプログラム間でのデータ交換フォーマットとして多用されています。
数多くのプログラミング言語でJSONを簡単に扱えるようにする追加機能が公開されています。
JSONには以下のような特徴があります。
・データ構造が把握しやすい
・テキストデータで記述されており、可読性が高い
JSONは、複雑なデータ構造を整理して記述することができます。また、人間の目で見たときにデータの概要を把握しやすいという特徴があります。
JSONのサンプル
JSONのサンプルを見てみましょう。
{
"name":"taro",
"age":”30”,
"class":"A"
}
このJSONは、ある人物の情報を表したデータです。左辺がデータのプロパティ名で、右辺が値を表します。 サンプルのJSONからは、以下のような情報を読み取ることができます。
・名前(name) は taro さんである
・年齢(age) は30歳である
・クラス(class) はAである
JSONでは、プロパティ名、および文字列の値をダブルクォートで囲むことになっています。値が数値やBooleanの場合、ダブルクォートで囲む必要はありません。下記のJSONは、「age」の値がダブルクォートで囲まれていませんが、正しいJSONデータです。
{
"name":"taro",
"age":30,
"class":"A"
}
階層化されたJSON
JSONでは、複雑なデータを階層構造で表現することができます。 以下のデータを見てみましょう。
{
"name":"taro",
"age":30,
"class":"A",
"family":{
"father":"ichiro",
"mother":"hanako",
"brother":{
"name":"jiro",
"age":20,
"class":"B"
}
}
}
先述したサンプルのJSONにデータが加わって、さらに複雑になっています。
●「家族」という項目が追加され、以下のデータが含まれている
〇father(父)
■父の名前は「ichiro」である
〇mother(母)
■母の名前は「hanako」である
〇brother(兄弟)
■brother というデータには、さらに「name(名前)」「age(年齢)」「class(クラス)」というデータ項目が含まれている
このように、JSONは複雑なデータを階層構造で表示することができます。
JSONの配列
複数のJSONデータをまとめ、配列として生成する場合があります。 以下は、複数のメンバーのJSONデータを配列としてまとめたケースです。
[{
"name":"taro",
"age":30,
"class":"A"
},
{
"name":"jiro",
"age":25,
"class":"B"
},
{
"name":"saburo",
"age":35,
"class":"C"
}]
この例では、3つのJSONデータが配列に格納されています。