observable从服务器返回许多json对象将包含所有一次或迭代?

时间:2017-07-07 07:23:48

标签: javascript arrays json django angular

我正在使用angular 4和typescript

我创建了一个api端点,它将返回一个json对象数组。我的问题是指在一个变量中捕获json,该变量旨在保存一组javascript对象。 observable是否会返回一个json对象列表,我可以将我的typescript代码中的变量设置为该数组?如果是这样的话。

或者我是否必须遍历json对象列表并将它们附加到数组变量?

注意没有代码,因为当我使用构造函数时,我很困惑,当我使用构造函数时。我想看看这是如何完成的。我还在学习

2 个答案:

答案 0 :(得分:1)

getData(): Observable<Array<any>> {
return this.http.get("http://apiurl")
  .map((response: Response) => response.json());
}

将Observable类型设置为Array<any>, 你可以用你的数据类型替换any。

使用

迭代数组
let list = [{"name": "john"}, {"name": "doe"}];

for (let i in list) {
   console.log(i); // indexes will be printed
}

for (let i of list) {
   console.log(i); // Actual values will be printed
}

答案 1 :(得分:0)

服务:

getData(): Observable<any> {
return this.http.get(`yourUrl`)
  .map(r => r.json());
}

组件:

yourFunction() {
    this.service.getData().subscribe(
        data => {
            // If your API returns an Array, then data is an array.
            // If it returns one line, then it's an object.
        }
    );
}