将对象添加到 localStorage。 JSON

Posted

技术标签:

【中文标题】将对象添加到 localStorage。 JSON【英文标题】:Adding objects to localStorage. JSON 【发布时间】:2017-12-17 10:38:54 【问题描述】:

我认为,我的问题很简单,但我从不使用 JSON 和 localStorage。所以,我有一个函数,它返回一个对象和一个循环,它会触发函数 n 次并创建 n 个对象。

function result()
  //some other functions
  let finalObj = 
           "Потяг №" : getTrainNumber(),
           "Пункт відправлення" : cities[randomCity_A],
           "Пункт прибуття" : cities[randomCity_B],
           "День тижня" : getDepartureDay(),
           "Відправлення" : mergedDepartureTime(),
           "Вартість" :  getTicketPrice()
        ;

   return finalObj;


var firingCount = prompt('Trains count', 10);
  for(var i = 0; i < firingCount; i++) 
  console.log(result());

  let serialObj = JSON.stringify(result());
  localStorage.setItem("myKey", serialObj);

如何将所有创建的对象保存在 localStorage 中(它只保存 1 个 finalObj),如果我可以将所有对象保存在其他 .json 文件中,该怎么做?谢谢。

【问题讨论】:

将所有对象推入一个数组,然后将该数组保存到localStorage。 【参考方案1】:

您一次又一次地在同一个键 (myKey) 中设置对象 (serialObj)。这就是为什么关键是只保留最后一个对象。

尝试创建如下的唯一键:

var firingCount = prompt('Trains count', 10);
for(var i = 0; i < firingCount; i++) 
   console.log(result());

   let serialObj = JSON.stringify(result());
   localStorage.setItem("myKey" + i, serialObj); // create unique key by appending i to "myKey".

【讨论】:

@АртемМирошниченко,不客气。如果有帮助,请采纳答案.....谢谢。

以上是关于将对象添加到 localStorage。 JSON的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 LocalStorage 将 json 对象保存到 Assets 文件夹

将 Json 存储在 localStorage 中

将 JSON 对象推送到 localStorage 中的数组

localStorage 知识点

json内容,该如何循环输出(JS)

如何根据分配给当前单击元素的数据从 localStorage 中删除 JSON 对象?