我有一个json url,响应如下
[
{
"gender": "Female",
"age": 7,
"class": 2,
"subject": [
"",
"",
""
]
},
{
"gender": "Female",
"age": 8,
"class": 3,
"subject": [
"ab",
"cd",
"ef"
]
},
...
]
我想找到这个数组的长度
所以在我使用的角度应用程序中
export class CustomComponent implements OnInit {
length: number;
constructor() {
this.length = Object.keys('www.url...').length;
console.log(length);
}
在.html我有<p>{{ length }}</p>
我得到61而实际长度是44,但另一方面控制台显示0。
我哪里错了?
任何形式的帮助将不胜感激。谢谢。
最简单的方法。
import { Http } from '@angular/http';
export class CustomComponent implements OnInit {
length: number;
constructor(private http: Http){
this.http.request('www.url...',{method:'GET'}).map(response => response.json()).subscribe(result=>{
this.length=result.length;
});
}
}
这里的问题是你试图在
Object.keys
而不是在url
上执行data
,你的url
将被视为string
。
解决方案是使用HttpClient
:
// First get data from external url and then perform all operation
this.http.get('www.url...').subscribe(data => {
this.length = data.length;
console.log(length);
});