JSON.stringify()とJSON.parse()
1027 ワード
これは2つのよく使われるJSON処理関数ですが、まだ詳細なパラメータがあり、あまり知られていません.まず火狐開発者の公式サイトの説明を抜粋してください.
2番目のパラメータはreplacerと呼ばれています.なぜvalueの値を置換してフィルタするのですか.次の例です.
このプログラムは、文字列以外の部分をJSONに変換することができます.spaceはスペースを追加しています.説明しません.もう一つのオブジェクトのtoJSON関数は、より具体的な動作を定義することができます.
parseにも似たような行為があります.
reviverはmapのようにキー値ペアごとに変更できます.
注意第一句,if(k=='){return v;}reviverは最後に空の文字列で呼び出されるため、vに直接戻ると、他の操作でさまざまな問題が発生します.
JSON.stringify(value[, replacer[, space]])
2番目のパラメータはreplacerと呼ばれています.なぜvalueの値を置換してフィルタするのですか.次の例です.
function replacer(key, value)
{
if (typeof value === "string")
{ return undefined; }
return value;
}
var foo = {foundation: "Mozilla", model: "box", week: 45,
transport:"car", month: 7};
var jsonString = JSON.stringify(foo, replacer);
このプログラムは、文字列以外の部分をJSONに変換することができます.spaceはスペースを追加しています.説明しません.もう一つのオブジェクトのtoJSON関数は、より具体的な動作を定義することができます.
parseにも似たような行為があります.
JSON.parse(text[, reviver])
reviverはmapのようにキー値ペアごとに変更できます.
var obj=JSON.parse('{"1": 1, "2": 2, "3": 3}', function(k, v)
{if (k === '') { return v;}
return v*2;
});
注意第一句,if(k=='){return v;}reviverは最後に空の文字列で呼び出されるため、vに直接戻ると、他の操作でさまざまな問題が発生します.