Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用angular从Json对象解析Json数组_Angular_Typescript_Api_Angular8 - Fatal编程技术网

如何使用angular从Json对象解析Json数组

如何使用angular从Json对象解析Json数组,angular,typescript,api,angular8,Angular,Typescript,Api,Angular8,在angular应用程序中,我调用了API并读取了Json对象incole。但是Json对象中有字符串和数组。现在我必须从对象incole解析数组 我在控制台中得到的对象是: { "Drone": { "Droneid": 1001, "latlong": [ { "lat": 12.989839, "lon": 80

在angular应用程序中,我调用了API并读取了Json对象incole。但是Json对象中有字符串和数组。现在我必须从对象incole解析数组

我在控制台中得到的对象是:

{
"Drone": {
    "Droneid": 1001,
    "latlong": [
        {
            "lat": 12.989839,
            "lon": 80.198822
        },
        {
            "lat": 13.051832,
            "lon": 80.194480
        },
        {
            "lat": 13.038453,
            "lon": 80.227442
        },
        {
            "lat": 13.009018,
            "lon": 80.242550
        },
        {
            "lat": 12.976903,
            "lon": 80.237056
        },
        {
            "lat": 12.956829,
            "lon": 80.193107
        },
        {
            "lat": 12.980917,
            "lon": 80.150531
        },
        {
            "lat": 13.007680,
            "lon": 80.149158
        },
        {
            "lat": 13.043805,
            "lon": 80.154651
        }
    ]
}
}
但是我必须从对象解析latlong数组

Dashboard.service.ts

mapping(token){
  let httpOptions = {
    headers: new HttpHeaders({
    'Content-Type': 'application/json',
      'Authorization': 'Token ' + token
    })
  };
  //this.http.get(this.url).subscribe(
    this.http.get(environment.apiurl +'/api/data/json', httpOptions).subscribe(  
    (dronesdt:any)=>{
      localStorage.setItem("dronesdt",JSON.stringify(dronesdt));
      console.log("Drones",JSON.parse(localStorage.getItem("dronesdt")));
 } 
  )
}
那么如何在控制台中获取latlong数组呢。
有人能帮我一下吗。

你可以得到
latlong
字段,如下所示:

dashboard.service.ts

mapping(token){
  let httpOptions = {
    headers: new HttpHeaders({
    'Content-Type': 'application/json',
      'Authorization': 'Token ' + token
    })
  };
  //this.http.get(this.url).subscribe(
    this.http.get(environment.apiurl +'/api/data/json', httpOptions).subscribe(  
    (dronesdt:any)=>{
      localStorage.setItem("dronesdt",JSON.stringify(dronesdt));
      console.log("Drones",JSON.parse(localStorage.getItem("dronesdt")));
 } 
  )
}
映射(令牌){
让httpOptions={
标题:新的HttpHeaders({
“内容类型”:“应用程序/json”,
“授权”:“令牌”+令牌
})
};
//this.http.get(this.url).subscribe(
this.http.get(environment.apirl+'/api/data/json',httpOptions)。订阅(
(dronesdt:unknown/*尽量避免任何静态类型的值*/)=>{
setItem(“dronesdt”,JSON.stringify(dronesdt));
console.log(“无人机”,无人机SDT.Drone.latlong);
} 
// )
}

无需在控制台中解析对象,因为您已经在该函数中获取了最新数据。

您可以获得如下
latlong
字段:

dashboard.service.ts

mapping(token){
  let httpOptions = {
    headers: new HttpHeaders({
    'Content-Type': 'application/json',
      'Authorization': 'Token ' + token
    })
  };
  //this.http.get(this.url).subscribe(
    this.http.get(environment.apiurl +'/api/data/json', httpOptions).subscribe(  
    (dronesdt:any)=>{
      localStorage.setItem("dronesdt",JSON.stringify(dronesdt));
      console.log("Drones",JSON.parse(localStorage.getItem("dronesdt")));
 } 
  )
}
映射(令牌){
让httpOptions={
标题:新的HttpHeaders({
“内容类型”:“应用程序/json”,
“授权”:“令牌”+令牌
})
};
//this.http.get(this.url).subscribe(
this.http.get(environment.apirl+'/api/data/json',httpOptions)。订阅(
(dronesdt:unknown/*尽量避免任何静态类型的值*/)=>{
setItem(“dronesdt”,JSON.stringify(dronesdt));
console.log(“无人机”,无人机SDT.Drone.latlong);
} 
// )
}

无需在控制台中解析对象,因为您已经在该函数中获取了最新数据。

尝试
console.log(dronesdt.Drone.latlong);
您是否尝试过声明接口来表示您的结构并使用
get
=>
this.http.get(…)
?不,我以前没有参与过这个领域。你能帮我表示所需json对象的结构吗?我的目标是从该对象接收latlong数组。关于这个主题有多个教程/答案,例如Try
console.log(dresdt.Drone.latlong)
您是否尝试过声明接口来表示您的结构,并使用通用版本的
get
=>
this.http.get(…)
?不,我以前没有参与过这个领域。你能帮我表示所需json对象的结构吗。我的目标是从该对象接收latlong数组。关于这个主题有多个教程/答案,例如。