我正在尝试使用TypeScript的Angular2,并且在尝试从我的http请求中获取响应时遇到问题。它是来自服务器的数组响应,我有一个定义的类,应该映射到它。代码如下。有谁能发现问题?
this.http
.get(this.testUrl, {
data: JSON.stringify(mockData),
headers: this.headers
})
.map(response => response.json() as People[])
.subscribe(result => this.peopleList = result);
人员列表在类中定义为
peopleList: People[];
My People类看起来像这样
export class Flight {
Name: string;
Age: number;
}
输出始终是数组中的数据,但只是Json数组。如果我将Name的属性更改为DummyName,它在转换后仍然会显示数组中数据的相同输出'进入人民[]。
我应该看到班级属性吗?我正在使用Chrome调试器来查询变量
编辑添加console.log()信息。它的阵列大约有300个。
[0 … 99]
0 : Object
Name : "Simon"
Age : 45
__proto__:Object
1:Object
Name:"Luke"
Age:21
__proto__:Object
答案 0 :(得分:0)
调用res.json()
时得到的结果只是一个普通对象(POJO),而不是一个类实例。这意味着他们的类型将是object
。事实上,你是这样做的。手动不会改变对象不是类People
的实例的事实。
您有两种方法可以处理POJOS: