如何从Angular 8中的界面创建新的递归json对象

时间:2019-11-06 13:17:26

标签: json angular typescript interface

我正在尝试创建具有以下格式的Json

{
  "via": [
    {
      "name": "Kittin",
      "vagon": [
        {"id":123},
        {"id":321}
        ]
    }
  ]
}

我使用以下界面

app.interface.ts

interface RootObject {
  via: Via[];
}

interface Via {
  name: string;
  vagon: Vagon[];
}

interface Vagon {
  id: number;
}

但是尝试使用它会返回以下错误

app.component.ts

varData: IVias;

this.varData.via.push('foo');

// this.varData.via = 'foo';
  

core.js:6014错误TypeError:无法读取未定义的属性“ via”

预先感谢您的帮助

1 个答案:

答案 0 :(得分:4)

如消息所示,varData未定义。

可能是因为未在脚本开头将其初始化。

一个简单的解决方法是:

this.varData = { 
   via : [],
}