mit dieser Klasse deserialisiert:Java "Jackson" JsonMappingException: Kann nicht Instanz Schwimmer aus FIELD_NAME Token
public class Products implements Serializable {
private BigDecimal productId;
private float priority;
public float getPriority() {
return priority;
}
public void setPriority(float priority) {
this.priority = priority;
}
}
Wenn Deserialisierung solcher JSON-Daten zu tun:
{"productId":47552,"priority":78}
diesen Fehler Got:
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"])
Aber für diese Daten (in Anführungszeichen Wert Priorität)
{"productId":47552,"priority":"78"}
funktioniert gut, so scheint es, dass jackson (1.9.9) numerische Werte nicht respektiert? Ich vermute, hier stimmt etwas nicht.
Sie sind sicher, dass der "lange" Typ Ihres Prioritätsfelds in Ihrem Codebeispiel korrekt ist? Du verwendest 'float' in deinem Getter und Setter ... Wenn dieser Code dein tatsächlicher Code ist, könnte das der Grund sein. – Yhn
ja, das war Tippfehler, danke – Dfr
Ich kann nicht scheinen, reproduzieren es einfach mit jackson 1.9.9 und versuchen zu lesen/schreiben Sie einen String-Wert von einem POJO wie oben gezeigt. Was mich denken lässt, dass der tatsächliche Fehler durch die Art verursacht wird, wie Sie jackson anrufen. Vielleicht hilft es uns, diesen Code zu zeigen :). – Yhn