我想在localStorage的值中只获得accessToken值123。我不知道怎么拿到它。
key : stackoverflow
value :
{
"accessToken": "123",
"expiresAt": "2022-07-20T03:13:31.736756085Z",
"refreshToken": "456"
}
我自己试过了,不管用。
console.log(window.localStorage.getItem("stackoverflow", 'accessToken'))
这不是得到它的方式吗?
您需要将对象存储为JSON
// SET
localStorage.setItem('stackoverflow', JSON.stringify(stackoverflow));
然后获取它并解析它
// GET
let stackoverflow = localStorage.getItem('stackoverflow');
stackoverflow = JSON.parse(stackoverflow);
最后你可以得到stackoverflow
对象的属性
const accessToken = stackoverflow.accessToken;
这里的问题是保存为json
的值所以你需要首先使用JSON.parse()
来解析它,像这样
let parsedData = JSON.parse(window.localStorage.getItem("stackoverflow"))
console.log(parsedData.accessToken)
在保存数据之前,必须将对象转换为字符串,因为localstorage只支持字符串键入,当你想要获取对象数据时,你必须解析该数据然后你才能访问对象数据
localStorage.setItem(
'stackoverflow',
JSON.stringify({
accessToken: '123',
expiresAt: '2022-07-20T03:13:31.736756085Z',
refreshToken: '456',
})
);
const stackoverflow: any = localStorage.getItem('stackoverflow');
const obj = JSON.parse(stackoverflow);
console.log(obj.accessToken);