con questa classe:Java "Jackson" JsonMappingException: Impossibile deserializzare istanza di galleggiante fuori FIELD_NAME gettone
public class Products implements Serializable {
private BigDecimal productId;
private float priority;
public float getPriority() {
return priority;
}
public void setPriority(float priority) {
this.priority = priority;
}
}
Nel fare la deserializzazione di tali dati JSON:
{"productId":47552,"priority":78}
ottenuto questo errore:
org.codehaus.jackson.map.JsonMappingException:
Can not deserialize instance of float out of FIELD_NAME token
at [Source: [email protected]; line: 1, \
column: 290] (through reference chain: entity.Products["priority"])
Ma per questi dati (virgolette attorno al valore di priorità)
{"productId":47552,"priority":"78"}
funziona bene, quindi sembra che jackson (1.9.9) non rispetti i valori numerici? Sospetto che qui qualcosa non funzioni.
Sei sicuro che il tipo "long" del tuo campo di priorità è corretto nell'esempio di codice? Stai usando 'float' nel tuo getter and setter ... Se quel codice è il tuo codice reale, potrebbe essere la ragione. – Yhn
sì, è stato un errore di battitura, grazie – Dfr
Non riesco a riprodurlo semplicemente usando jackson 1.9.9 e provando a leggere/scrivere un valore di stringa da un POJO come mostrato sopra. Il che mi fa pensare che l'errore effettivo potrebbe essere causato dal modo in cui chiami Jackson. Forse ti aiuterà a mostrarci quel codice :). – Yhn