【发布时间】:2017-12-04 21:35:42
【问题描述】:
我正在尝试解析我的服务器 API 在向它发出 HTTP 获取请求后返回的 JSON 对象。这是对 Http 的调用
getPayoutReport(param1, param2, param3) {
//do some hanky panky
//configure a requestUrl
return this.http.get(this.requestUrl).map((res:Response)=> res.json());
}
这里是接收方法:
this.payoutReportsService.getPayoutReport(this.reservationId, this.productId, this.vendor)
.subscribe(data => {this.payoutReport = data; console.log(this.payoutReport);});
当我记录 this.payoutReport 时,我可以在控制台中看到一个 JS Object 对象。当我在控制台中检查它时,我可以看到它具有我需要的 JSON 对象的所有属性(基本上这是我需要的对象)。除了它是一个 JS Object 对象,而不是我正在寻找的 JSON 对象格式。
我试过了:
return this.http.get(this.requestUrl).map(this.extractData);
private extractData(res: Response) {
let body = res.json();
return body.data || { };
}
但是,res.json().data 是未定义的,它返回一个空对象。
帮助表示赞赏!
【问题讨论】:
-
当你放res.json()时,它把json对象转换成js对象,有什么问题
-
不知道为什么这被否决了。除了关于 JSON 对象的术语混乱之外,这似乎是一个有效的问题。
标签: javascript json angular observable