angular - 如何读取或获取 Json 对象内的 Json 数组
问题描述
在我的 Angular 应用程序中,我调用了 API 并获取了 Json 对象的数据。我的问题是如何读取 Json 对象中的 Json 数组。我收到的json对象是
{
"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 数组。
我的服务功能是
仪表板.service.ts
export class DashboardService {
public Drones:any;
latlong:any=[];
constructor(private http: HttpClient, private router: Router) {
mapping(token){
let httpOptions = {
headers: new HttpHeaders({
'Content-Type': 'application/json',
'Authorization': 'Token ' + token
})
};
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")));
}
)
}
仪表板.component.ts
constructor(private ds:DashboardService,private router: Router) { }
Drones:any;
Droneid:string;
latlong:any=[];
this.mapping();
mapping(){
this.drones=JSON.parse(localStorage.getItem("dronesdt"));
console.log("Drones",this.drones)
}
我已收到整个 json 对象,但我无法接收对象内的数组。任何人都可以帮助我阅读对象内部的 Json 数组。
解决方案
最好这样做:
仪表板.service.ts
export class DashboardService {
constructor(private http: HttpClient, private router: Router) {
getDrones():Observable<any> {
return this.http.get(environment.apiurl +'/api/data/json', httpOptions);
}
}
仪表板.component.ts
latlong:any=[];
constructor(private ds:DashboardService,private router: Router) { }
ngOnInit(){
this.ds.getDrones().subscribe( res => {
this.latlong = res.Drone.latlong;
// Other local storage setting here...
});
}
推荐阅读
- android - 自定义通知显示类似图像
- python - 无法执行 ansible playbook(未安装 libselinux python)
- python - 输入字典和字典列表并仅在存在整数时替换
- sap-gui - 信息窗口的 SAP GUI 脚本
- reactjs - npm start 在编译期间抛出错误
- java - 如何从android中的url解析json
- scikit-learn - Sklearn:线性回归
- java - 如何使用 Selenium 和 Java 定位并单击选择布尔复选框
- ios - UITesting 只是失败了,没有更多的上下文就没有编写测试
- c++ - 结果不是我所期望的