【问题标题】:How to get Nested array from local storage in javascript如何从javascript中的本地存储中获取嵌套数组
【发布时间】:2021-08-10 19:12:42
【问题描述】:

用户成功登录后,我将用户数据存储在本地存储中

let authObservable: Observable<any>;
   authObservable = this._authService.login(this.f.email.value, this.f.password.value);
   authObservable.subscribe(
   result=> {
     localStorage.setItem('id', result['id']);
     localStorage.setItem('username', result['username']);
     localStorage.setItem('email', result['email']);
     localStorage.setItem('tokens', result['tokens']); }
       

我可以得到id的值和其他键值

localstorage.getItem('id');
localstorage.getItem('username');
localstorage.getItem('email');

但令牌包含另一个数组

localstorage.getItem('tokens')
// it return an array
   "tokens": "{'access': 'access_token', 'refresh': 'refresh_token_value'}"

如何获取令牌值和访问令牌值并将其存储在 refresh_token 和 access_token 变量中。 像 localstorage.getItem('tokens').access

【问题讨论】:

    标签: javascript arrays json angular local-storage


    【解决方案1】:

    你需要解析成 JSON,像这样:

    JSON.parse(localstorage.getItem('tokens')).access

    【讨论】:

    • 你能把JSON.parse(localstorage.getItem('tokens'))的console.log发到这里吗
    • JSON.parse(localStorage.getItem('token')); "{'refresh': 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbl90eXBlIjoicmVmcmVzaCIsImV4cCI6MTYyMTY5NTM0OSwianRpIjoiMzE0MDhkODBmZDk5NGVmMDhiYzRiNWNiMTdhNTY5OTEiLCJ1c2VyX2lkIjoxfQ.GGmxZ7MSSGjrvdWKHfUjMuH1Pa8lk06l3rdtM5HlbPA', 'access': 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNjIxNjA5MjQ5LCJqdGkiOiI4ODQ3ZmI3OGYyYWE0NDRkOWUzNGNmOGE3NjNiNGYwZiIsInVzZXJfaWQiOjF9.PO1hjkaBY6zl9DdGDz5Vc9ug654RuhZGHn9-_X8bnhs'}" JSON.parse(localStorage.getItem('token')).access; undefined
    • 你在解析结果的时候加了斜线吗?我的还是不行
    • 是的,我把它放了是因为正确的json需要有双引号而不是单引号,所以我需要更改它以进行正确的转换
    猜你喜欢
    • 2022-11-24
    • 2021-09-21
    • 2018-02-04
    • 1970-01-01
    • 1970-01-01
    • 2023-01-28
    • 1970-01-01
    • 1970-01-01
    • 2023-03-20
    相关资源
    最近更新 更多