我有一个这样的数组:
[{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/