Android y GSON lanzando No-Args Constructor no encontrado excepción

Tengo un problema con GSON en mi aplicación de Android.

Entrada JSON

[ {"id":"1202","parent_id":"0","agrpcount":"0","disp_order":"1","code":"PROD-NEW","name":"New Products","active":"1"}, {"id":"1119","parent_id":"0","agrpcount":"0","disp_order":"2","code":"PROD-VID","name":"\\\"How To\\\" Videos","active":"1"}, {"id":"1685","parent_id":"0","agrpcount":"0","disp_order":"3","code":"SUPP-RESOUR","name":"Support Resources","active":"1"}, {"id":"49","parent_id":"0","agrpcount":"0","disp_order":"109","code":"EQ","name":"Equipment for Sign Making","active":"1"}, {"id":"22","parent_id":"0","agrpcount":"0","disp_order":"110","code":"application-tape","name":"Application Tapes","active":"1"} ] 

Clase de contenedor para cada elemento de matriz

 public class Category { public int id; public int parent_id; public int agrpcount; public int disp_order; public String code; public String name; public int active; } 

Clase para cargar la matriz de categorías

 public static List<Category> getCategories(){ Category[] cats; Gson gson = new Gson(); cats = gson.fromJson(strJSON, Category[].class); List<Category> CatsList = Arrays.asList(cats); return CatsList; } 

Cuando ejecuto este código, obtengo lo siguiente en el registro

 02-28 15:15:42.471: ERROR/AndroidRuntime(777): Caused by: java.lang.RuntimeException: No-args constructor for class com.signwarehouse.catalog.SWService$Category does not exist. Register an InstanceCreator with Gson for this type to fix this problem. 02-28 15:15:42.471: ERROR/AndroidRuntime(777): at com.google.gson.MappedObjectConstructor.constructWithNoArgConstructor(MappedObjectConstructor.java:64) 02-28 15:15:42.471: ERROR/AndroidRuntime(777): at com.google.gson.MappedObjectConstructor.construct(MappedObjectConstructor.java:53) 02-28 15:15:42.471: ERROR/AndroidRuntime(777): at com.google.gson.JsonObjectDeserializationVisitor.constructTarget(JsonObjectDeserializationVisitor.java:40) 02-28 15:15:42.471: ERROR/AndroidRuntime(777): at com.google.gson.JsonDeserializationVisitor.getTarget(JsonDeserializationVisitor.java:56) 02-28 15:15:42.471: ERROR/AndroidRuntime(777): at com.google.gson.ObjectNavigator.accept(ObjectNavigator.java:109) 02-28 15:15:42.471: ERROR/AndroidRuntime(777): at com.google.gson.JsonDeserializationVisitor.visitChild(JsonDeserializationVisitor.java:107) 02-28 15:15:42.471: ERROR/AndroidRuntime(777): at com.google.gson.JsonDeserializationVisitor.visitChildAsObject(JsonDeserializationVisitor.java:95) 02-28 15:15:42.471: ERROR/AndroidRuntime(777): at com.google.gson.JsonArrayDeserializationVisitor.visitArray(JsonArrayDeserializationVisitor.java:72) 02-28 15:15:42.471: ERROR/AndroidRuntime(777): at com.google.gson.ObjectNavigator.accept(ObjectNavigator.java:117) 02-28 15:15:42.471: ERROR/AndroidRuntime(777): at com.google.gson.JsonDeserializationContextDefault.fromJsonArray(JsonDeserializationContextDefault.java:64) 02-28 15:15:42.471: ERROR/AndroidRuntime(777): at com.google.gson.JsonDeserializationContextDefault.deserialize(JsonDeserializationContextDefault.java:49) 02-28 15:15:42.471: ERROR/AndroidRuntime(777): at com.google.gson.Gson.fromJson(Gson.java:568) 02-28 15:15:42.471: ERROR/AndroidRuntime(777): at com.google.gson.Gson.fromJson(Gson.java:515) 02-28 15:15:42.471: ERROR/AndroidRuntime(777): at com.google.gson.Gson.fromJson(Gson.java:484) 02-28 15:15:42.471: ERROR/AndroidRuntime(777): at com.google.gson.Gson.fromJson(Gson.java:434) 02-28 15:15:42.471: ERROR/AndroidRuntime(777): at com.google.gson.Gson.fromJson(Gson.java:406) 

Intenté agregar un constructor no-args a la clase Category, pero esto no ayudó. No es sorprendente ya que Java lo crea automáticamente.

¿Alguien tiene alguna idea de cómo solucionar este problema?

Gracias.

Tratando de convertir la clase Category en una clase pública estática

 public static class Category {/* fields */} 

Apuesto a que lo que está pasando es que usted no hizo que la clase estática que está tratando de crear su padre / clase externa (com.signwarehouse.catalog.SWService) en primer lugar que probablemente no tiene un constructor no-arg.

  • Mapa Ver instrucciones de dibujo usando google Directions API - decodificar polilíneas
  • Cómo convertir json objeto en cadena en android ..?
  • Cómo analizar las matrices json anidadas en un solo objeto en android
  • Cuando se utiliza JSON en Fragmentos, la aplicación no responde en Android Development
  • Org.json.JSON Excepción: Fin de la entrada en el carácter 0
  • Cómo agregar una matriz de cadenas en un objeto JSON?
  • Enfoque correcto de Android: ¿dónde se debe analizar la respuesta de JSON - en el subproceso de interfaz de usuario, o en otro?
  • El envío de JSON como datos adicionales en una transmisión de Android a través de ADB se formatea incorrectamente
  • Convertir objeto a JSON en Android
  • JSON jsonObject.optString () devuelve String "null"
  • Saltos de línea con WCF, JSON y un cliente que no sea Windows
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.