GSON / Jackson en Android

Fui capaz de analizar con éxito la siguiente cadena de JSON en Android usando JSONObject y JSONArray. No han tenido éxito al lograr el mismo resultado con GSON o Jackson. ¿Puede alguien ayudarme con fragmentos de código incluyendo las definiciones POJO para analizar esto con GSON y Jackson?

{ "response":{ "status":200 }, "items":[ { "item":{ "body":"Computing" "subject":"Math" "attachment":false, } }, { "item":{ "body":"Analytics" "subject":"Quant" "attachment":true, } }, ], "score":10, "thesis":{ "submitted":false, "title":"Masters" "field":"Sciences", } } 

Los siguientes son ejemplos simples de usar Gson y Jackson para deserializar / serializar JSON (similar al inválido JSON en la pregunta original) a / desde una estructura de datos Java correspondiente.

El JSON:

 { "response": { "status": 200 }, "items": [ { "item": { "body": "Computing", "subject": "Math", "attachment": false } }, { "item": { "body": "Analytics", "subject": "Quant", "attachment": true } } ], "score": 10, "thesis": { "submitted": false, "title": "Masters", "field": "Sciences" } } 

La estructura de datos de Java coincidente:

 class Thing { Response response; ItemWrapper[] items; int score; Thesis thesis; } class Response { int status; } class ItemWrapper { Item item; } class Item { String body; String subject; boolean attachment; } class Thesis { boolean submitted; String title; String field; } 

Jackson Ejemplo:

 import java.io.File; import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility; import org.codehaus.jackson.map.ObjectMapper; public class JacksonFoo { public static void main(String[] args) throws Exception { ObjectMapper mapper = new ObjectMapper(); mapper.setVisibilityChecker( mapper.getVisibilityChecker() .withFieldVisibility(Visibility.ANY)); Thing thing = mapper.readValue(new File("input.json"), Thing.class); System.out.println(mapper.writeValueAsString(thing)); } } 

Gson Ejemplo:

 import java.io.FileReader; import com.google.gson.Gson; public class GsonFoo { public static void main(String[] args) throws Exception { Gson gson = new Gson(); Thing thing = gson.fromJson(new FileReader("input.json"), Thing.class); System.out.println(gson.toJson(thing)); } } 
  • ¿Cómo analizar estos datos JSON utilizando GSON? Y ponerlo en un ArrayList
  • Retrofit + OkHttp + GZIP-ed JSON
  • Android usando MSGPack Core y Jackson Mapper - clase de decodificación variable de tipo desconocido
  • Quiero google play store como scrollview
  • ¿Hay una manera de sobrecargar JSONArray para comportarse como una lista regular en un bucle?
  • Error org.json.JSONException: No hay valor para PROJECT_NAME Este es mi json
  • Acceder a la respuesta JSON desde la vista web de android
  • Serializar objeto para enviar dentro de Intent en Android
  • ¿Cuál es la forma estándar de publicar el objeto JSON junto con el archivo utilizando MultipartEntityBuilder y el cliente HTTP en Android
  • Convención de nomenclatura con la serialización / deserialización de Firebase?
  • Cómo borrar datos de una matriz JSON
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.