我有一个来自JSON的对象,我想访问多个数组中的元素。
我从JSON在Dto中生成带有getter和setter的类
它给了我一种公共类型
List <List <List <List <Double> >>> getCoordinates ()
如何获取坐标元素?
我尝试这种方式,但是没有用。 GeoReferencias是我的对象json。
GeoReferencias geoReferencias = new GeoReferencias();
for(Geometry geometry : geoReferencias.getFeatures().get().getGeometry()) {
geometry.getCoordinates();
}
JSON数据:
{
"type": "Feature",
"id": 426,
"geometry": {
"type": "MultiPolygon",
"coordinates": [
[
[
[
20.90620040893566,
-11.984783172607422
],
[
20.901933670044002,
-11.982872009277344
]
]
]
}
}
答案 0 :(得分:1)
List <List <List <List <Double> >>> getCoordinates = new ArrayList<>();
for(int i = 0 ; i <getCoordinates.size() ; i++){
Double cordinate[] = new Double[2];// if you have only 2 cordinates
List <List <List <Double> >> a = getCoordinates.get(i)
for(int j = 0 ; j <a.size() ; j++){
List <List <Double> > b = a.get(j);
for(int k = 0 ; k <b.size() ; k++){
List <Double> c = b.get(k);
for(int l = 0 ; l <c.size() ; l++){
Double[l] = c.get(l);
}
}
}
//perform your action related to coordinates over here because it will re-initialize as its inside loop.
}
这是遍历嵌套列表的方式。
如果您始终需要遍历第4个列表,并且前三个嵌套列表的长度固定,则可以使用以下语法:-
Double arr[] = new int[2];
arr[0] = getCoordinates.get(fixed_index).get(fixed_index).get(fixed_index).get(0);
arr[1] = getCoordinates.get(fixed_index).get(fixed_index).get(fixed_index).get(1);