¿Cómo convierto un objeto JSONObject en objeto de clase?
Necesito convertir un objeto JSONObject en un objeto Location usando bibliotecas de gson para un proyecto androide mío. No estoy seguro de cómo hacer esto. Puede alguien ayudarme con esto. Gracias por adelantado.
Tengo un código algo así como
- Dirección del mapa de Google Api con Retrofit
- Convertir JSON a objeto anidado (objeto genérico) mediante GSON
- Archivo o base de datos? - Mejores prácticas para guardar objetos en dispositivos Android
- ¿Cómo puedo poner tipo genérico para TypeToken de Gson?
- Android: Realm + Retrofit - Serializar apiresponse
JSONArray input = new JSONArray(extras.getString("loc_json"));
Quería convertir el JSONObject tomado de JSONArray a un objeto de clase Location. Sólo quería saber si hay una función que lo hace directamente.
Perdóneme si enmarcaba la pregunta de una manera equivocada. Como no tengo la función directa, lo hice de esta manera.
loc_temp = (Location) gson.fromJson(input.getJSONObject(i).toString(), Location.class);;
Perdón por la estúpida pregunta.
- Gson, cómo deserializar matriz o cadena vacía
- Gson deserializa json con diferentes tipos de valor
- Jackson JSON Parser rendimiento
- ¿Cómo depurar errores de CONVERSIÓN de Retrofit con un JsonDeserializer personalizado?
- JSON a ListView en Android con Gson
- Subir datos de imagen de varias partes en JSON con Retrofit?
- "Unparseable date: 1302828677828" intentando deserializar con Gson una fecha de formato milisegundo recibida del servidor
- Lectura de Json String usando Gson resultados error "no un JSON Array"
Aquí está un tutorial para GSON – creo que debería ayudar a reforzar su comprensión. Esencialmente el análisis se realiza de la siguiente manera:
String mJsonString = "..."; JsonParser parser = new JsonParser(); JsonElement mJson = parser.parse(mJsonString); Gson gson = new Gson(); MyDataObject object = gson.fromJson(mJson, MyDataObject.class);
Utilice com.google.gson.JsonObject y JsonArray en lugar de org.json. *
Me gusta esto :
Gson gson = new Gson(); Type typeOfT = new TypeToken<List<Location.class>>(){}.getType(); JsonParser parser = new JsonParser(); JsonObject jo = (JsonObject) parser.parse(jsonStr); JsonArray ja = jo.getAsJsonArray("memberName"); list = gson.fromJson(ja, typeOfT);
Si todavía desea utilizar org.json.JSONObject :
org.json.JSONObject o; ObjectMapper m = new ObjectMapper(); MyClass myClass = m.readValue(o.toString(), MyClass.class);
- ¿Cómo puedo crear un diálogo de alerta personalizado con vista de cuadrícula en android?
- Controles segmentados en la aplicación de Android