我不知道如何将从 Web 服务返回的 json 对象数组映射到 Angular 2 应用程序中正确键入的对象数组。
正如您在 Angular 2 的官方 plunker 示例中看到的,预期的对象不是 Hero 类型,它们是 Object 类型,并且 HeroListComponent 的 heros:Hero[] 成员实际上是一个 Object[]。您可以在控制台中看到该数组不是强类型的:
http://plnkr.co/edit/Qa22yzPh3JWI8lNZ99Ik?p=preview
我添加了额外的 console.log() 调用来添加 hero 命令,您可以在浏览器控制台中看到我们没有 Hero[] 而是 Object[]。
所以显然这里的转换不起作用:
this.http.get(this._heroesUrl)
.map(res => <Hero[]> res.json().data)
.catch(this.handleError);
我们得到 Object[] 而不是 Hero[]。
关于如何将 json 映射到正确类型的对象的任何想法?
更多信息: https ://angular.io/docs/ts/latest/guide/server-communication.html