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