从 json 获取值时出现问题?

阿纳弗罗兹

这是我的 json 响应,

    "stops": [
      {
        "location": "The Sachdevs, 17, GAA 4th Ln, Thousand Lights West, Nungambakkam, Chennai, Tamil Na
        "latlong": {
            "lon": 80.250285901129,
            "lat": 13.05583158449
        },
        "stop_code": "stop_1522754972",
        "status": ""
    },
]

此行中的错误:

jSONObject cat_object2 = latLong_object.getJSONObject(j); 对象不能在 int 中使用

这是我的java代码,任何人给我解决方案。

              Object stops = response_object.get("stops");
                        if (stops instanceof JSONArray) {

                            JSONArray stops_array = response_object.getJSONArray("stops");
                            if (stops_array.length() > 0) {
                                maplist.clear();

                                for (int k = 0; k < stops_array.length(); k++) {

                                    JSONObject cat_object = stops_array.getJSONObject(k);

                                    MultipleLatLongPojo pojo = new MultipleLatLongPojo();
                                    pojo.setLocation(cat_object.getString("location"));
                                    pojo.setStopcode(cat_object.getString("stop_code"));
                                    pojo.setStatus(cat_object.getString("status"));

                                    JSONObject latLong_object = cat_object.getJSONObject("latlong");
                                    if (latLong_object.length() > 0) {
                                        for (int j = 0; j < latLong_object.length(); j++) {
                                            JSONObject cat_object2 = latLong_object.getJSONObject(j);
                                            MultipleLatLongPojo pojo2 = new MultipleLatLongPojo();
                                            pojo2.setMulti_lat(cat_object2.getString("lon"));
                                            pojo2.setMulti_lon(cat_object2.getString("lat"));

                                        }
                                    } else {

                                    }

                                }
                            }
                        }
加布里埃拉·安杰洛娃

latlong在 json 中的属性不是数组,而是具有两个属性(latlon的对象,因此您无需遍历它的长度和代码的这部分:

JSONObject latLong_object = cat_object.getJSONObject("latlong");
if (latLong_object.length() > 0) {
   for (int j = 0; j < latLong_object.length(); j++) {
      JSONObject cat_object2 = latLong_object.getJSONObject(j);
      MultipleLatLongPojo pojo2 = new MultipleLatLongPojo();
      pojo2.setMulti_lat(cat_object2.getString("lon"));
      pojo2.setMulti_lon(cat_object2.getString("lat"));
   }
}

应该是这样的:

JSONObject latLong_object = cat_object.getJSONObject("latlong");
if(latLong_object != null) {
    MultipleLatLongPojo pojo2 = new MultipleLatLongPojo();
    pojo2.setMulti_lat(latLong_object.getString("lon"));
    pojo2.setMulti_lon(latLong_object.getString("lat"));
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章