javascript - 在 localStorage 中存储对象

标签 javascript angular typescript

我有一个这样的数组:

[{name:"test", time:"Date 2017-02-03T08:38:04.449Z"}]

我将它存储在 localstorage 中,当我从 localstorage 检索数据时,我得到了值:

[object, object]

我该如何解决这个问题?

config.ts

import { Injectable } from "@angular/core";

@Injectable()
export class TokenManager {

  public tokenKey: string = 'app_token';

  constructor() { }    

  store(content) {
    var contentData;

    console.log("inside localstorsge store:", content);
    contentData = content.map(
      (data) => data.name
    )
    console.log("contentData:", contentData)
    localStorage.setItem(this.tokenKey, content);
  }

  retrieve() {
    console.log("inside localstorage");
    let storedToken: any = localStorage.getItem(this.tokenKey);
    console.log("storedToken:", storedToken);//====> here this console is[object object]
    if (!storedToken) throw 'no token found';
    return storedToken;
  }

}

最佳答案

本地存储仅限于处理字符串键/值对,您可以像下面那样使用 JSON.stringify 获取值 JSON.parse

var testObject ={name:"test", time:"Date 2017-02-03T08:38:04.449Z"};

将对象放入存储:

localStorage.setItem('testObject', JSON.stringify(testObject));

从存储中检索对象:

var retrievedObject = localStorage.getItem('testObject');

console.log('retrievedObject: ', JSON.parse(retrievedObject));

关于javascript - 在 localStorage 中存储对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42020577/

相关文章:

javascript - Android原生分享菜单: Detect supporting browsers

javascript - 如何将外部 javascript 文件添加到 Zend Framework 2 应用程序?

angular - 如何在静态方法或自定义类中注入(inject) HttpClient?

reactjs - 在 Visual Studio 2019 中调试 React App 不起作用

javascript - Vue : pug language has not been recognized in . 模板

JavaScript:将对象数组转换为 HashMap

angular - 性能 - 是否应该避免双向数据绑定(bind)?

javascript - 如何按值将对象传递给 Angular2+ 组件

angular - 可选属性绑定(bind)

typescript - 在 TS 3.2.2 中使用 --isolatedModules 时无法重新导出类型