Back to project page android-gps-.
The source code is released under:
Apache License
If you think the Android project android-gps- listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
package com.droid.waterhub; /*w w w . ja va 2s . co m*/ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; public class PlaceJSONParser { /** Receives a JSONObject and returns a list */ public List<HashMap<String,String>> parse(JSONObject jObject){ JSONArray jPlaces = null; try { /** Retrieves all the elements in the 'places' array */ //jPlaces = jObject.getJSONArray("results"); jPlaces = jObject.getJSONArray("result"); } catch (JSONException e) { e.printStackTrace(); } /** Invoking getPlaces with the array of json object * where each json object represent a place */ return getPlaces(jPlaces); } private List<HashMap<String, String>> getPlaces(JSONArray jPlaces){ int placesCount = jPlaces.length(); List<HashMap<String, String>> placesList = new ArrayList<HashMap<String,String>>(); HashMap<String, String> place = null; /** Taking each place, parses and adds to list object */ for(int i=0; i<placesCount;i++){ try { /** Call getPlace with place JSON object to parse the place */ place = getPlace((JSONObject)jPlaces.get(i)); placesList.add(place); } catch (JSONException e) { e.printStackTrace(); } } return placesList; } /** Parsing the Place JSON object */ private HashMap<String, String> getPlace(JSONObject jPlace){ HashMap<String, String> place = new HashMap<String, String>(); String placeName = "-NA-"; String address="-NA-"; String latitude=""; String longitude=""; try { // Extracting Place name, if available if(!jPlace.isNull("name")){ placeName = jPlace.getString("name"); } // Extracting Place Vicinity, if available if(!jPlace.isNull("address")){ address = jPlace.getString("address"); } // latitude = jPlace.getJSONObject("geometry").getJSONObject("location").getString("lat"); // longitude = jPlace.getJSONObject("geometry").getJSONObject("location").getString("lng"); latitude = jPlace.getString("lat"); longitude = jPlace.getString("lng"); place.put("place_name", placeName); place.put("address", address); place.put("lat", latitude); place.put("lng", longitude); } catch (JSONException e) { e.printStackTrace(); } return place; } }