繁体   English   中英

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

[英]javascript I don't know how to get a specific object with getItem

我想在 localStorage 中的值中仅获取 object 中的 accessToken 值 123 。 我不知道如何得到它。

key : stackoverflow 

value : 
{
  "accessToken": "123",
  "expiresAt": "2022-07-20T03:13:31.736756085Z",
  "refreshToken": "456"
}

我自己试过了,它不起作用。

console.log(window.localStorage.getItem("stackoverflow", 'accessToken'))

这不是得到它的方法吗?

这里的问题是保存为json的值,所以你需要先使用JSON.parse()像这样解析它

let parsedData = JSON.parse(window.localStorage.getItem("stackoverflow"))
console.log(parsedData.accessToken)

您需要将对象存储为 JSON

// SET
localStorage.setItem('stackoverflow', JSON.stringify(stackoverflow));

然后得到它并解析它

// GET
let stackoverflow = localStorage.getItem('stackoverflow');
stackoverflow = JSON.parse(stackoverflow);

最后你可以得到stackoverflow对象的属性

const accessToken = stackoverflow.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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM