从本地存储中获取项目

get the items from local storage

我试图将一些值插入到本地存储中。 O 需要获取详细信息。但是我无法按要求获取数据

console.log("saving data to local storage")
      var newItem = {
        title: $('#title').val(),
        description: $('#description').val()
      }
      if (localStorage.getItem("newData") === null) {
        localStorage.setItem("newData", JSON.stringify(newItem));
      }
      else {
        var oldItems = JSON.parse(localStorage.getItem('newData')) || [];
        oldItems.push(newItem);
        localStorage.setItem('newData', JSON.stringify(oldItems));
      }

这里我保存了我的本地存储数据,然后我需要获取每个细节

这是我本地存储保存的数据

[{"title":"e2","description":"e2"},{"title":"a2","description":"a2"},{"title":"r2","description":"r2"},{"title":"y2","description":"y2"}]

我需要获取每个数据,我试过这种方法。但没有得到详细信息

var newArr = window.localStorage.getItem('newData');
for (var i = 0, len = newArr.length; i < len; i++) {
  savedPerson = JSON.parse(newArr[i]);
  console.log(savedPerson)
  console.log(savedPerson.title)
  console.log(savedPerson.description)
}

我该怎么做

这将使您对应该如何检索 JSON 数据有一个基本的了解:

// READ STRING FROM LOCAL STORAGE
var retrievedObject = localStorage.getItem('newData');

// CONVERT STRING TO REGULAR JS OBJECT
var parsedObject = JSON.parse(retrievedObject);

// ACCESS DATA
for (var i = 0, len = parsedObject.length; i < len; i++) {
  savedPerson = parsedObject[i]
  console.log(savedPerson)
  console.log(savedPerson.title)
  console.log(savedPerson.description)
}

你的代码后半部分是错误的。请检查此代码。

console.log("getting data from local storage");

var newArr = JSON.parse(window.localStorage.getItem('newData'));

for (var i = 0; i < newArr.length; i++) {
  var savedPerson = newArr[i];
  console.log(savedPerson);
  console.log(savedPerson.title)
  console.log(savedPerson.description)
}

您将 newItem 设置为一个对象,并调用 localStorage.setItem("newData", JSON.stringify(newItem)); 保存它。

然后var oldItems = JSON.parse(localStorage.getItem('newData'))会return一个字符串,但是一个字符串没有push方法

您可能要做的是创建一个数组,然后将对象添加到其中。然后你可以迭代对象数组。

举个例子

var newItem = {
    title: $('#title').val(),
    description: $('#description').val()
}

if (localStorage.getItem("newData") === null) {
    localStorage.setItem("newData", JSON.stringify([newItem]));
} else {
    var oldItems = JSON.parse(localStorage.getItem('newData'));
    oldItems.push(newItem);
    localStorage.setItem('newData', JSON.stringify(oldItems));
}

var newArr = JSON.parse(window.localStorage.getItem('newData'));

for (var i = 0, len = newArr.length; i < len; i++) {
    var savedPerson = newArr[i];
    console.log(savedPerson)
    console.log(savedPerson.title)
    console.log(savedPerson.description)
}