我正在使用angular 4和typescript
我创建了一个api端点,它将返回一个json对象数组。我的问题是指在一个变量中捕获json,该变量旨在保存一组javascript对象。 observable是否会返回一个json对象列表,我可以将我的typescript代码中的变量设置为该数组?如果是这样的话。
或者我是否必须遍历json对象列表并将它们附加到数组变量?
注意没有代码,因为当我使用构造函数时,我很困惑,当我使用构造函数时。我想看看这是如何完成的。我还在学习
答案 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.
}
);
}