Java 从json数据获取纬度和经度

Java 从json数据获取纬度和经度,java,android,json,Java,Android,Json,如何在java中从这个json数据中获取纬度和经度 { "cloc": { "cid": 1001, "latlong": [ { "lat": 23.2331, "lon": 43.23 }, { "lat": 44.322, "lon": 93.423 }, { "lat": 4

如何在java中从这个json数据中获取纬度和经度

{
"cloc": {
    "cid": 1001,
    "latlong": [
        {
            "lat": 23.2331,
            "lon": 43.23
        },
        {
            "lat": 44.322,
            "lon": 93.423
        },
        {
            "lat": 44.322,
            "lon": 93.423
        }
    ]
}
}
请尝试以下代码:

JSONObject object = new JSONObject(YOUR RESPONSE STRING);

JSONArray jArray = object.getJSONArray("latlong");

for (int i = 0; i < jArray.length(); i++)
{
    String lat = jArray.getJSONObject(i).getString("lat");
    String lon = jArray.getJSONObject(i).getString("lon");

}

假设您的数据已经是经过解析的JSONObject,您可以使用:

JSONData.getJSONObject("cloc").getJSONArray("latlong").getJSONObject(i).getString("lat")
以及:


迭代从0到latlong数组长度范围内i的所有值。

lat的可能重复值为23.2331,lon为43.23。看起来在线程main org.json.JSONException:JSONObject[latlong]中找不到Saudi ArabiaException。在org.json.JSONObject.getJSONObject.java:454在org.json.JSONObject.getJSONArrayJSONObject.java:535在com.tatya.JsonReader.mainJsonReader.java:45@Rah演示您是如何实现的?您是如何在代码中编写这一行的:JSONObject object=new JSONObject您的响应字符串;JSONObject object=readJsonFromUrl静态JSONObject readJsonFromUrlString url抛出IOException,JSONException{InputStream is=new URLurl.openStream;重试{BufferedReader rd=new BufferedReadernew InputStreamReaders,Charset.forNameUTF-8;字符串jsonText=readAllrd;JSONObject json=new JSONObject jsonText;//JSONArray json=new JSONArrayjsonText;返回json;}@Rah这不是我代码中的问题,你做错了什么,请检查一下。我尝试了这个对象。getJSONObjectcloc.getJSONArraylatlong.getJSONObject1,但它只给我{lon:93.423,lat:44.322},我需要lat和long
JSONData.getJSONObject("cloc").getJSONArray("latlong").getJSONObject(i).getString("lon")