Estoy tratando de escribir un deserializador personalizado para Jackson y quiero hacerlo genérico (genérico en el sentido de que funciona en cualquier tipo, no como en "genéricos").Deserializador personalizado de Jackson Obtener acceso a la clase de campo actual
Sin embargo, parece que no puedo entender cómo manejar el tipo de campo deserializado.
Por ejemplo, estoy buscando hacer algo como lo siguiente:
@Override
public MyObject deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException {
Class c = <get type of current field>
// do something with that type
return new SubclassOfC(somedata based on c);
}
Es específicamente el tipo get del campo actual parte que he luchado con.
Editar: Es el tipo del campo java Estoy interesado en
Por "tipo de campo actual", ¿quiere decir el tipo del valor JSON (objeto, conjunto de cuerdas, int, etc.)? ¿O el tipo de un campo Java con el mismo nombre en 'MyObject' al que está asignando el valor JSON? –
Este último, el tipo de campo de Java. – monkjack