2016-04-17 13 views
1

私はJSON.stringifyとそのreplacerパラメータを使用しています。しかし、Replacerパラメータでは、キーと値を取得できません。空の文字列としてキー値を取得する代わりに、完全なJSONオブジェクトとして値を取得します。私のコードで何をしたのですか?それをクリアしてください。JSON.Stringify Replacer関数がキー値を取得できません

var replacer=function(key,value){ 
     debugger; 
    } 
    $(function() { 
     JSON.stringify({"name":'xxxxx'},replacer) 
    }); 

は、私が「XXXXX」

+0

...その作業..(Y) – charlietfl

答えて

5

MDN - JSON.stringify(): The replacer parameterとして「名前」および値としてキーを取得する必要があります。

[...]当初は、オブジェクトを表す空のキーで呼び出されます文字列化されているオブジェクトまたは配列の各プロパティに対して呼び出されます。[...]

最初の反復では、オブジェクト全体を取得しますct {"name":'xxxxx'}value, と置き換えますが、replace関数からundefinedを返すので、オブジェクト全体がundefinedに置き換えられます。そのため、値/キーペアの次の繰り返しは行われません。

valueを返すと、次の繰り返しが行われます。

var replacer = function(key, value) { 
    console.dir(arguments); 
    return value; 
} 

JSON.stringify({ 
    "name1": 'xxxxx' 
}, replacer); 
+0

大きな期待される結果を表示してくださいおかげでたくさんの.. –

-1
var replacer=function(key,value){ 
    var json_obj = JSON.parse(value); 
    var name = json_obj.name; 

} 
$(function() { 
    JSON.stringify({"name":'xxxxx'},replacer) 
}); 
関連する問題