javascript 我不知道如何使用 getItem 获取特定对象



我想在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);

相关内容

  • 没有找到相关文章

最新更新