localStorage返回NULL

时间:2018-08-30 09:50:29

标签: javascript json local-storage

我遇到了有关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。

我在做什么错?

3 个答案:

答案 0 :(得分:4)

Working Live example

您必须将返回的字符串解析为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);