如何在Observable map中访问json响应的内部属性

时间:2018-02-02 07:48:12

标签: observable angular-http angular-httpclient angular-observable

任何人都可以指导我解决这个问题。

我试图在map运算符中访问json响应的内部属性。

return this.http.get('http://localhost:3000/api/businesses', options)
  .map((response: Response) => response.json());

并且这会返回整个响应,但我知道要获得该响应的商业属性。

我的API端点像这样返回json对象

{
   sucesses:true,
   business:[
     {},
     {}
   ]
}

所以我需要访问这个对象并只返回业务数组

1 个答案:

答案 0 :(得分:3)

通过调用response.json(),您可以获得一个可以查询的对象。

考虑到您的回复,您应该获得一个包含两个属性(成功和业务)的对象。因此,您只需映射observable并返回该属性。

return this.http
  .get('http://localhost:3000/api/businesses', options)
  .map((response: Response) => response.json())
  .map((data: { success: boolean, business: any }) => data.business);

这将返回json响应的属性业务。