JavaScriptのJSONとは!?今更まとめ!
まず、JavaScriptでは一つの変数に多数のデータを格納する場合、
配列を使用する場合、
オブジェクトを使用する場合
があります。
配列を使用する場合
var arr = new Array();
arr[0] = "A";
arr[1] = "B";
arr[2] = "C";
arr[3] = "D";
arr[4] = "E";
としたり、
var arr = ["A","B","C","D","E"];
とするような配列リテラルという方法があります。
これは見てわかるように「データを番号管理」しているものです。
オブジェクトを使用する場合
var obj = new Object();
obj["みかん"] = "A";
obj["りんご"] = "B";
obj["もも"] = "C";
obj["なし"] = "D";
obj["ぶどう"] = "E";
としたり、
var obj = {
"みかん":"A",
"りんご":"B",
"もも":"C",
"なし":"D",
"ぶどう":"E",
};
とするようなオブジェクトリテラルという方法があります。
これは配列の番号管理と異なり、「名前管理」になっています。
上記、配列とオブジェクトは当然、
alert(arr[3]);//Dと表示 alert(obj["りんご"]);//B表示
のような形で値を取り出すことができます。
配列とオブジェクトを組み合わせる
var list = [ { "question":"日本一高い山は?", "selection":["父山","富士山","高山","下山"], "answer":"富士山" }, { "question":"世界一小さい国は?", "selection":["日本","アメリカ","ロシア","バチカン市国"], "answer":"バチカン市国" }, { "question":"日本の初代総理大臣は?", "selection":["森鴎外","伊藤博文","日下部陽一","坂本竜馬","斉藤一"], "answer":"伊藤博文" }, ];
[ ]の部分は配列です。
{ }の部分はオブジェクトです。
両方とも同じように多数のデータを格納できますが、配列は番号、オブジェクトは名前での管理であるため、格納したいデータの形式によって使い分けて組み合わせることになります。
このように配列リテラルとオブジェクトリテラルを組み合わせて多次元な配列的データを作ったものを「JSON形式」のデータを呼ぶわけです。
これは実際に使用している実例がなければ、なんのためにこんな複雑な形を使用するのかがわからないと思うので、実例を紹介します。
先日まで連載していたクイズアプリの作成手順がいいと思います。
長いですが、よかったら読んでみてください。
連載は①~⑮までありますので・・・(汗