感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

JSONについて

<スポンサーリンク>

JSONはJavaScript Object Notationの略。
JavaScriptのリテラル表記をベースにしたしたデータフォーマット形式です。

JSONの4つの基本型
・文字列値型 "hoge"
・数値型 123.4
・ブーリアン型 true false
・null型 null

JSONの2つの構造化型
・オブジェクト {"x":1,"y":"hoge"}
・配列 [1,2,"fuga"]

JSONデータを外部に送信する場合は、内部のオブジェクトをJSON文字列に変換して送る。

・JSONオブジェクトのプロパティ
parse(text[,reviver])
→引数textのJSON文字列をパースしてJavaScriptオブジェクトを返す。
reviverはプロパティ単位で呼ばれるコーズバック関数で、返り値がプロパティ値になる。

stringify(value[,replacer[,space]])
→引数valueをJSON文字列に変換。replacerはプロパティ単位で呼ばれるコールバック関数で返り値がプロパティ値になる。


例)
JSON文字列をJavaScriptオブジェクトに変換する

{"x":1, "y":2,"val":"hoge"}

上のJSONをJSONオブジェクトに変換

var obj = JSON.parse(json);

たとえば・・・
var json = '{"ito":"mizky","hosaka":"takaky","age":27}';
var obj = JSON.parse(json);
print(obj.ito);
> mizky
print(obj.hosaka);
>takaky
print(obj.age);
>27
と表示される 

オブジェクトからJSON文字列に変換

JSON.stringify({x:1,y:2,val:'fuga'});

JavaScriptは文字列にシングルクォート(')とダブルクォート(")をサポートしているのに対し、
JSONはダブルクォート(")しかサポートしていない。

JSON.parse:JSONでフォーマットされている文字列を指定してJavaScriptオブジェクトを生成
JSON.stringify:JavaScriptオブジェクトをシリアライズしてJSONフォーマットのテキストに変換

JSONオブジェクトをAjaxアプリケーションで使う場合は・・・

var response = JSON.parse(xmlHttpObj.responseText);

みたいに使う。<参考にした本>

初めてのJavaScript 第2版

初めてのJavaScript 第2版

パーフェクトJavaScript (PERFECT SERIES 4)

パーフェクトJavaScript (PERFECT SERIES 4)