我试过这个
JSON.stringify(localStorage, function(key, value) {
console.log(key);
return (key.split('.')[0] === 'SUWDdb') ? value : undefined;
})
它只返回undefined,控制台只记录一个条目。 任何人都可以给我一个理由和解决方案吗?
答案 0 :(得分:1)
好吧,顶级的任何东西都不能满足你的条件,在这种情况下你的函数返回undefined,这意味着下面没有字符串化。你可能想要:
JSON.stringify(localStorage, function(key, value) {
console.log(key);
return (typeof value === 'object' || key.split('.')[0] === 'SUWDdb') ? value : undefined;
^^^^^^^^^^^^^^^^^^^^^^^^^
})
这将允许JSON.stringify
在遇到对象时保持向下遍历。
答案 1 :(得分:0)
如果您有localstorage并且想要使用
进行字符串化,请保持简单JSON.stringify(localStorage的) 其中localstorage是具有localstorage对象的变量
jsonString = JSON.stringify(value [,replacer [,space]])
value要转换为JSON字符串的JavaScript对象。
replacer一个改变字符串化过程行为的函数,或一个String和Number对象数组,用作白名单,用于选择要包含在JSON字符串中的值对象的属性。如果此值为null或未提供,则对象的所有属性都包含在生成的JSON字符串中。
这是json.stringify函数的语法,它不是回调函数