JSONについて

2017/11/25

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版

  • 作者: Shelley Powers,武舎広幸,武舎るみ
  • 出版社/メーカー: オライリージャパン
  • 発売日: 2009/11/30
  • メディア: 大型本
  • 購入: 7人 クリック: 115回
  • この商品を含むブログ (21件) を見る
パーフェクトJavaScript (PERFECT SERIES 4)

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

  • 作者: 井上誠一郎,土江拓郎,浜辺将太
  • 出版社/メーカー: 技術評論社
  • 発売日: 2011/09/23
  • メディア: 大型本
  • 購入: 24人 クリック: 588回
  • この商品を含むブログ (12件) を見る