HAKUHIN's home page
更新履歴
 
 



JSON とは?
 


■JSON とは?

「JavaScript Object Notation」の略で「ジェイソン」といいます。
 
JSON は、数値や文字列や配列やオブジェクトなどのデータを、文字列で表現できる軽量なフォーマットです。
 
「JavaScript 内のオブジェクト」と「文字列」との相互変換が簡単に扱えるようになります。
 
■JSON のフォーマットについて
 
JavaScript では、配列とオブジェクトを作成したい時に、以下のように「初期データを格納しつつ作成する」事ができます。
 
初期データを格納して配列を作成

var ary = [true , false , 0 , 1 , 2 , 0.345 , "あ" , "い"];
 
初期データを格納してオブジェクトを作成

var obj = {
	a : true,
	b : false,
	c : 0,
	d : 1,
	e : 2,
	f : 0.345,
	g : "あ",
	h : "い"
};
 
この表記に近い形で文字列として表現したものが JSON 形式となります。
 
JSON は、オブジェクトのキーダブルコーテーション『" "』でくくる必要があります。
 
シングルコーテーション『' '』でくくる事はできません。
 
配列を JSON で表現

[true,false,0,1,2,0.345,"あ","い"]
 
オブジェクトを JSON で表現

{"a":true,"b":false,"c":0,"d":1,"e":2,"f":0.345,"g":"あ","h":"い"}
 
配列とオブジェクトの組み合わせを JSON で表現

{"ary":[0,1,2],"obj":{"a":0,"b":1,"c":2}}
 
JSON は、数値型、文字列型、Boolean 型、Array 型、Object 型、null を表現できます。
 
数値は、「16 進数」や 「8 進数」で表記することはできません。
 
文字列は、ダブルコーテーション『" "』でくくりますが、シングルコーテーション『' '』でくくる事はできません。
 
JSON は、 eval 関数で簡単に JavaScript のオブジェクトに復元する事ができますが、セキュリティリスクがあるのでかわりにパース関数を使用します。
 
json 文字列を eval 関数を使ってオブジェクトに変換する例です。
 
JSON を eval 関数でオブジェクトに復元(注.セキュリティリスクあり)

var str = '{"ary":[0,1,2],"obj":{"a":0,"b":1,"c":2}}';
var obj;

eval("obj = " + str);

// テスト出力
console.log(obj.ary);
console.log(obj.obj);
 




オブジェクトから JSON に変換する
 
 


■オブジェクトから JSON に変換する

オブジェクトから JSON に変換するには、JSON.stringify() メソッドを使用します。
 
引数に、JavaScript のオブジェクトを指定します。
 
戻り値から、JSON 文字列が得られます。
 
Object から JSON 文字列に変換

var obj = {
	ary:[0,1,2],
	obj:{
		a:0,
		b:1,
		c:2
	}
};
var str = JSON.stringify(obj);

// テスト出力
console.log(str);
 




JSON からオブジェクトに変換する
 
 


■JSON からオブジェクトに変換する

JSON からオブジェクトに変換するには、JSON.parse() メソッドを使用します。
 
引数に、JSON 文字列を指定します。
 
戻り値から、JavaScript のオブジェクトが得られます。
 
JSON 文字列からオブジェクトに変換

var str = '{"ary":[0,1,2],"obj":{"a":0,"b":1,"c":2}}';
var obj = JSON.parse(str);

// テスト出力
console.log(obj.ary);
console.log(obj.obj);
 




HAKUHIN's home page バナー http://hakuhin.jp/
(c) Hakuhin & 日新礼符 2002-2011 解像度1024×768以上 IE8.0以上推奨
/ 閲覧中: