Sto cercando di scrivere un deserializzatore personalizzato per Jackson e voglio renderlo generico (generico nel senso di lavorare su qualsiasi tipo, non come in "generici").Custom Deserializer Jackson Accesso alla classe Field corrente
Tuttavia, non riesco a capire come ottenere un handle per il tipo di campo che viene deserializzato.
Ad esempio, sto cercando di fare qualcosa di simile al seguente:
@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);
}
E 'in particolare il tipo get di campo corrente parte che ho lottato con.
Edit: E 'il tipo di campo java Sono interessato a
Per "tipo di campo attuale", vuoi dire il tipo del valore JSON (oggetto, array, string, int, ecc)? O il tipo di un campo Java con lo stesso nome in 'MyObject' in cui stai mappando il valore JSON? –
Quest'ultimo, il tipo del campo Java. – monkjack