我正在使用JSON.stringify及其replacer参数。但是在replacer参数中我无法得到键和值,而不是我得到键值为空字符串""和值作为完整的JSON对象。我在代码中犯了什么错误?请清除它。
var replacer=function(key,value){
debugger;
}
$(function () {
JSON.stringify({"name":'xxxxx'},replacer)
});
我需要获得关键字" name"价值为" xxxxx"
答案 0 :(得分:6)
MDN - JSON.stringify(): The replacer parameter:
[...]最初它被一个空键调用,表示正在进行字符串化的对象,然后为被字符串化的对象或数组上的每个属性调用它。[...]
在第一次迭代中,您将整个对象{"name":'xxxxx'}
视为value
,
但是因为你从替换函数返回undefined
,整个对象将被undefined
替换,因此不会发生带有值/键对的下一次迭代。
如果您返回value
,您将看到下一次迭代发生。
var replacer = function(key, value) {
console.dir(arguments);
return value;
}
JSON.stringify({
"name1": 'xxxxx'
}, replacer);
答案 1 :(得分:-1)
var replacer=function(key,value){
var json_obj = JSON.parse(value);
var name = json_obj.name;
}
$(function () {
JSON.stringify({"name":'xxxxx'},replacer)
});