JSON.stringify()
JSON.stringify()はオブジェクトをJSON形式の文字列に変換するためのメソッドです。
var obj = {
foo:"val",
bar:"daa"
};
console.log(JSON.stringify(obj));//{"foo":"val","bar":"daa"}
返還時に値がundefinedや関数のプロパティは削除されます。
var obj = {
str : "val",
num : 1,
bool : true,
arr : ["val1","val2","val2","val4"],
und : undefined,
fun : function(){
return false;
}
};
console.log(JSON.stringify(obj));//{"str":"val","num":1,"bool":true,"arr":["val1","val2","val2","val4"]}
第2引数にはreplacerとしてコールバック関数が指定でき返還時の処理を設定できます。
例えば以下のように指定することでnumber型の数値をstring型に変換したJSONを作成することができます。
var obj = {
str : "val",
num : 1
};
JSON.stringify(obj,function(key,val){
if(typeof val === "number")val = val+"";
return val;
});//{"str":"val","num":1}
第3引数にはインデントの空白文字が指定できます。以下のように\tを指定するとタブ文字でインデントされたJSONが生成できます。
var obj = {
str : "val",
num : 1
};
JSON.stringify(obj,"","\t");
文字列をJSONオブジェクトに変更するにはJSON.parse()を利用します。
対応ブラウザ
IE | Chrome | Safari | Firefox | iOS | Android |
---|---|---|---|---|---|
◯ 8〜 | ◯ 4〜 | ◯ 4〜 | ◯ 3.5〜 | ◯ 4.1〜 | ◯ 2.1〜 |
登録日 : 2015年09月16日 最終更新日 : 2015年10月5日