constructor(private http: HttpClient) {
}
ngOnInit() {
this.http.get('url').subscribe(data => {
console.log(data);
console.log(data.login);
});
}
}
在这里,我可以在控制台中看到登录的数据,但是我收到一条错误,说数据上没有属性登录。没有使用接口,有没有解决方法?因为我想获得的数据非常庞大,将来可能会被修改,所以还有更好的方法吗?
答案 0 :(得分:3)
使用HttpClient
...
this.http.get('/api/items').subscribe(data => { // Read the result field from the JSON response. this.results = data['results']; });
在上面的示例中,
data['results']
字段访问突出,因为您使用括号表示法来访问结果字段。如果您尝试编写data.results
,TypeScript会正确地抱怨从HTTP返回的Object没有results
属性。那是因为虽然HttpClient
将JSON响应解析为Object,但它不知道该对象的形状。
因此,您可以选择键入您的回复(文档和我建议的回复),或者使用括号表示法。