Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Deserializar JSON a Java enum

Tengo la siguiente enumeración en Java en Android y me gustaría poder deserializar un entero en una cadena entrante / objeto de JSON en este tipo de Enum. He estado recibiendo hits en Jackson y GSON pero nada en el paquete JSON.org, que estoy usando.

¿Hay una manera fácil de hacer esto o necesito alterar el decodificador de JSON? Gracias.

  • Android: muestra los contactos de la agenda y selecciona uno
  • Cómo corregir la posición de una vista dentro de un ViewPager y CoordinatorLayout
  • Android - no puede poner el pulgar en el centro de una barra de búsqueda
  • Single page PreferenceActivity w / sin encabezados / fragmentos?
  • La aplicación no está configurada correctamente para utilizar los servicios de juego de Google
  • RecyclerView? Android: attr / selectableItemBackground no funciona en los elementos
  • public enum ValueEnum { ONE(1), TWO(2), THREE(3); private int value; private ValueEnum(int value) { this.value = value; } public int getValue() { return value; } } 

  • Dos preguntas sobre tamaños de montón máximo y memoria disponible en android
  • Cómo agregar el margen entre las pestañas en TabLayout?
  • Está utilizando una implementación insegura de X509TrustManager
  • TextView tinte en AppCompat
  • Memoria requerida para campos 'cortos' en Dalvik?
  • Error: los intervalos SPAN_EXCLUSIVE_EXCLUSIVE no pueden tener una longitud cero
  • One Solution collect form web for “Deserializar JSON a Java enum”

    ValueEnum.values() le devolverá la matriz de ValueEnum [] entonces usted puede iterar sobre matriz y comprobar para el Value

     public static ValueEnum valueOf(int value) { ValueEnum[] valueEnums = ValueEnum.values(); for (ValueEnum valueEnum : valueEnums) { if (valueEnum.getValue() == value) { return valueEnum; } } return DEFAULT; } 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.