Get a JSON object from a HTTP response

前端 未结 7 1433
粉色の甜心
粉色の甜心 2020-11-27 12:17

I want to get a JSON object from a Http get response:

Here is my current code for the Http get:

protected String doInBackground(String..         


        
7条回答
  •  醉话见心
    2020-11-27 12:46

    This is not the exact answer for your question, but this may help you

    public class JsonParser {
    
        private static DefaultHttpClient httpClient = ConnectionManager.getClient();
    
        public static List getNearestClubs(double lat, double lon) {
            // YOUR URL GOES HERE
            String getUrl = Constants.BASE_URL + String.format("getClosestClubs?lat=%f&lon=%f", lat, lon);
    
            List ret = new ArrayList();
    
            HttpResponse response = null;
            HttpGet getMethod = new HttpGet(getUrl);
            try {
                response = httpClient.execute(getMethod);
    
                // CONVERT RESPONSE TO STRING
                String result = EntityUtils.toString(response.getEntity());
    
                // CONVERT RESPONSE STRING TO JSON ARRAY
                JSONArray ja = new JSONArray(result);
    
                // ITERATE THROUGH AND RETRIEVE CLUB FIELDS
                int n = ja.length();
                for (int i = 0; i < n; i++) {
                    // GET INDIVIDUAL JSON OBJECT FROM JSON ARRAY
                    JSONObject jo = ja.getJSONObject(i);
    
                    // RETRIEVE EACH JSON OBJECT'S FIELDS
                    long id = jo.getLong("id");
                    String name = jo.getString("name");
                    String address = jo.getString("address");
                    String country = jo.getString("country");
                    String zip = jo.getString("zip");
                    double clat = jo.getDouble("lat");
                    double clon = jo.getDouble("lon");
                    String url = jo.getString("url");
                    String number = jo.getString("number");
    
                    // CONVERT DATA FIELDS TO CLUB OBJECT
                    Club c = new Club(id, name, address, country, zip, clat, clon, url, number);
                    ret.add(c);
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
    
            // RETURN LIST OF CLUBS
            return ret;
        }
    
    }
    Again, it’s relatively straight forward, but the methods I’ll make special note of are:
    
    JSONArray ja = new JSONArray(result);
    JSONObject jo = ja.getJSONObject(i);
    long id = jo.getLong("id");
    String name = jo.getString("name");
    double clat = jo.getDouble("lat");
    

提交回复
热议问题