Angular 5 HttpClient:将json对象数组映射到我的对象数组

时间:2018-04-12 15:08:16

标签: angular angular5

将Angular 5与HttpClient一起使用,我见过类似的例子:

  getUsers(): Observable<User[]> {
    return this.http.get<User[]>('https://jsonplaceholder.typicode.com/users');
  }

我试图了解实现将JSON用户数组映射到用户数组的多种方法。

Angular是否知道如何映射数据,或者我是否必须执行.map函数来自己构建用户数组?

1 个答案:

答案 0 :(得分:0)

你可以做到

getUsers() {
  return this.http.get('https://jsonplaceholder.typicode.com/users');
}

如果您的回答是这样的:

[
  {
    "id": 1,
    "name": "example1",
  },
  {
    "id": 2,
    "name": "example2",
  }
]

然后你可以这样做:

this.service.getUsers().subscribe(
  result => {
    this.arrayUsers = result;
  }
)

否则如果你的JSON更深入了:

{
  "success":[
    {
       "id": 1,
       "name": "example1",
    },
    {
       "id": 2,
       "name": "example2",
    }
 ]

}

那么你应该这样做:

this.service.getUsers().subscribe(
  result => {
    this.arrayUsers = result['success']; 
  }
)