首页 > 解决方案 > Angular 如何从 localStorage JSON 获取我的数组

问题描述

这是我保存在 localStorage 中的 JSON:

{
   "calculatorInfo":{
      "gender":"F",
      "name":"test",
      "surname":"test"
   },
   "contactInfo":{
      "email":"fvreferf@gmail.com",
      "phone":"568553322"
   },
   "underageChildInfo":[
      {
         "gender":"F",
         "name":"test1",
         "surname":"test2"
      },
      {
         "gender":"F",
         "name":"test3",
         "surname":"test"
      }
   ]
}

我正在获取这些数据并将其保存到我的对象中,如下所示:但是当我尝试保存我的数组时,它显示未定义。

如何将我的数组保存在这个对象中?

personalInfo: any;

    this.data = JSON.parse(localStorage.getItem('policy'));
    
       get info(): any {
         return this.personalInfo = {
            personalInfoId: 0,
            insurerInfo: {
               firstName:  this.data.calculatorInfo.name,
               lastName : this.data.calculatorInfo.surname,
               email: this.data.contactInfo.email
            },
            legalHeir:true,
            underageChildInfo: [
            {
              firstName: this.data.underageChildInfo.name
            }
            ]
          }
       }

标签: angulartypescript

解决方案


错误在这里

underageChildInfo: [
    {
        firstName: this.data.underageChildInfo.name
    }
]

映射firstNamethis.data.underageChildInfounderageChildInfo

underageChildInfo: this.data.underageChildInfo
    .map(val => ({ firstName: val.name }))

推荐阅读