如何使用angular从Json对象解析Json数组
在angular应用程序中,我调用了API并读取了Json对象incole。但是Json对象中有字符串和数组。现在我必须从对象incole解析数组 我在控制台中得到的对象是:如何使用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
{
"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数组。关于这个主题有多个教程/答案,例如Tryconsole.log(dresdt.Drone.latlong)
您是否尝试过声明接口来表示您的结构,并使用通用版本的get
=>this.http.get(…)
?不,我以前没有参与过这个领域。你能帮我表示所需json对象的结构吗。我的目标是从该对象接收latlong数组。关于这个主题有多个教程/答案,例如。