繁体   English   中英

Ionic 2和JSON数据添加

[英]Ionic 2 and JSON Data Addition

我正在使用Ionic 2 Storage来保存表单数据。 我这样保存数据:

this.storage.set(key, JSON.stringify(formData));

我检索并尝试像这样更新数据:

this.getReport(key).then((report) => {
  var objReport = JSON.parse(report);
  objReport.push(data); //this is the problem
  this.storage.set(pk, JSON.stringify(objReport));
});

getReport就是这样:

getReport(key) {
  return this.storage.get(key);
}

因此,我知道.push适用于数组而不是对象,但是我认为执行所有这些转换并不高效,因为我正在处理大型对象。

我的问题是:从存储中检索json并将其追加的最有效方法什么? 对我来说,如果对象没有像数组这样的push方法,则.parse返回对象是没有意义的。

这是错误:

未捕获(承诺)运行时错误:TypeError:无法读取未定义的属性“ push” TypeError:无法读取未定义的属性“ push”

该错误的意思是,目前没有该密钥的记录。 因此,您将必须执行以下检查:

this.getReport(key).then((report) => {
  var objReport = [];//initialise empty Array
  if(report){ //if there is a record in that key location
     objReport = JSON.parse(report); //parse the record & overwrite objReport
  }
  objReport.push(data); //Now this push will happen regardless of report or not
  this.storage.set(pk, JSON.stringify(objReport));
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM