如何获取JSON数组的长度?

问题描述 投票:0回答:2

我有一个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。

我哪里错了?

任何形式的帮助将不胜感激。谢谢。

json angular
2个回答
1
投票

最简单的方法。

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;
});

}

}

0
投票

这里的问题是你试图在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);
});
© www.soinside.com 2019 - 2024. All rights reserved.