Jackson prende in considerazione molti fattori quando si nomina un campo per la serializzazione in JSON. È possibile utilizzare questi fattori al contrario per recuperare il valore di un campo in un pojo in base al nome che avrà una volta serializzato?È possibile utilizzare Jackson per ottenere il valore da Pojo
Ad esempio, dato il fagiolo
public class Bean{
private Bean2 prop;
@JsonProperty("property")
public Bean2 getProp();
}
E 'possibile ottenere il valore di prop
dato solo un configurato ObjectMapper
, la stringa "property"
e un'istanza di Bean
?
Conosco la riflessione, quindi se potessi semplicemente ottenere "prop"
o "getProp"
sarei praticamente pronto.
Certo, basta elencare i campi/metodi getter della classe e cercare '@ JsonProperty'. Questo suona terribilmente invadente, tuttavia, e potrebbe esserci un'opzione migliore se spiegassi in modo specifico quale sia il tuo caso d'uso. – chrylis
Hai bisogno di un buon motivo per farlo per farmi approvare. Uno dei punti di strumenti come Jackson è quello di disaccoppiare la tua logica, che presumibilmente vorrebbe usare gli oggetti POJO dal trasferimento/DTO. –
@chrylis Ho appena usato '@ JsonProperty' per dimostrare come il nome del campo può essere un valore inaspettato, l'annotazione non sarà sempre lì. – kag0