gpt4 book ai didi

javascript - 在本地存储中插入 json 时出现格式错误的 json

转载 作者:行者123 更新时间:2023-12-02 23:17:23 24 4
gpt4 key购买 nike

我正在 localStorage 中插入一个 json,但当我尝试解析它时,我在 JSON 中的位置 3 处收到了意外的 token ~

这就是我插入本地存储的方式

  localStorage.setItem(
"users",
`"[\"~#iM\",[\"loading\",false,\"auth\"]]"`
);

但是在 localStorage 中我有

"["~#iM",["loading",false,"auth"]]"

并且正在做

JSON.parse("["~#iM",["loading",false,"auth"]]")

不工作但做

JSON.parse("[\"~#iM\",[\"loading\",false,\"auth\"]]")

确实有效。

所以 \ 很重要。如何将它们保存在 localStorage 中?

最佳答案

如果我理解正确的话,您想要从 localStorage 存储和检索对象,并且您可能已经知道,您只能在那里存储字符串。

实现此目的的最简单方法可能是使用 JSON.stringify 将对象转换为字符串:

const someKey = 'whatever';

function saveToLocalStorage(obj) {
localStorage.setItem(someKey, JSON.stringify(obj));
}

function retrieveFromLocalStorage() {
return JSON.parse(localStorage.getItem(someKey));
}


let someArrayOrObjectToBeStored = [
"~#iM",
[
"loading",
false,
"auth"
]
];

saveToLocalStorage(someArrayOrObjectToBeStored);

let retrievedObject = retrieveFromLocalStorage();
console.log(retrievedObject)

PS:您编辑的示例不起作用,因为您引用了两次。删除外部反引号,使其像这样工作:

  localStorage.setItem(
"users",
"[\"~#iM\",[\"loading\",false,\"auth\"]]"
);

关于javascript - 在本地存储中插入 json 时出现格式错误的 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57114821/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com