Android 从php web服务解析json对象响应

Android 从php web服务解析json对象响应,android,json,Android,Json,为了了解如何解析JSON对象,我已经阅读了大量教程。来自web服务的ma JSON对象响应的结构如下 {"posts":[ {"gpoint":{"latitude":"18.966364","longitude":"72.811317"}}, {"gpoint":{"latitude":"19.07023","longitude":"72.82917"}}, {"gpoint":{"latitude":"19.094889","longitude":"72.840157"}}, {"g

为了了解如何解析JSON对象,我已经阅读了大量教程。来自web服务的ma JSON对象响应的结构如下

{"posts":[

{"gpoint":{"latitude":"18.966364","longitude":"72.811317"}},

{"gpoint":{"latitude":"19.07023","longitude":"72.82917"}},

{"gpoint":{"latitude":"19.094889","longitude":"72.840157"}},

{"gpoint":{"latitude":"19.056601","longitude":"72.901955"}}]

}
这是我的代码:

       HttpResponse response= client.execute(post);

       content = response.getEntity().getContent();

       String result = stringConversion(content);   


       jObject = new JSONObject(result);

       JSONArray gpoint = jObject.getJSONArray("posts");

       for (int i = 0; i<gpoint.length();i++)
       {

            double geoLat=gpoint.getJSONObject(i).optDouble("latitude");
            double geoLong=gpoint.getJSONObject(i).optDouble("longitude");

       //   double geoLat = gPointObject.getDouble("latitude");
       //   double geoLong = gPointObject.getDouble("longitude");      
            Log.i(Tag," "+ geoLat);
            Log.i(Tag," "+ geoLong);
       }

}   


catch(JSONException e){
    Log.e("log_tag", "Error parsing data "+e.toString());
}
HttpResponse response=client.execute(post);
content=response.getEntity().getContent();
字符串结果=字符串转换(内容);
jObject=新的JSONObject(结果);
JSONArray gpoint=jObject.getJSONArray(“posts”);
对于(int i=0;i请尝试以下方法:

JSONObject gp;
for (int i = 0; i<gpoint.length();i++)
        {
gp = gpoint.getJSONObject(i);
double geoLat = gp.getJSONObject("gpoint").optDouble("latitude");
double geoLong = gp.getJSONObject("gpoint").optDouble("latitude");

        //  double geoLat = gPointObject.getDouble("latitude");
        //  double geoLong = gPointObject.getDouble("longitude");      
            Log.i(Tag," "+ geoLat);
            Log.i(Tag," "+ geoLong);
       }
jsonobjectgp;

对于(int i=0;i您可能希望使用GSON。如果您准备了足够的DTO结构,您可以在一个函数调用中映射JSON。我正在我的应用程序中使用它。

很高兴提供帮助。这种情况经常发生:您坐在离问题很近的位置,没有注意到错误。