我遇到了有关localStorage的问题。我的代码如下:
var defaultReportData = {
'station': 'DR P3',
'days': 'Mon, Tue, Wed, Thur, Fri',
'startHour': '06:00',
'endHour': '18:00',
'demography': 'Cover: All'
}
localStorage.setItem('defaultReportData', JSON.stringify(defaultReportData));
// Returns null
console.log(localStorage.getItem('station'));
每次加载页面后只要在控制台中键入“ localStorage”,该对象就可以正确输出。但是,当我想获取特定值时,localStorage输出在控制台中返回null。
我在做什么错?
答案 0 :(得分:4)
您必须将返回的字符串解析为JSON,以获取station
:
var defaultReportData = JSON.parse(localStorage.getItem('defaultReportData'));
console.log( defaultReportData.station );
答案 1 :(得分:1)
您必须使用存储时使用的相同的 key
(defaultReportData)从本地存储中检索数据,然后将字符串数据解析为JSON Object
var data=JSON.parse(localStorage.getItem('defaultReportData'));
console.log(data.station);
答案 2 :(得分:0)
它有效,只需复制并粘贴到您的控制台中
var defaultReportData = {
'station': 'DR P3',
'days': 'Mon, Tue, Wed, Thur, Fri',
'startHour': '06:00',
'endHour': '18:00',
'demography': 'Cover: All'
}
window.localStorage.setItem('defaultReportData', JSON.stringify(defaultReportData));
// Returns null
var itemPref = window.localStorage.getItem('defaultReportData')
var resultObject = JSON.parse(itemPref);
console.log(resultObject.station);