/ / Jackson konvertiert von Json-String in Java-Objekt-Ergebnisse in Standardobjekt - Java, Json, Jackson

Jackson konvertiert von Json-String zu Java-Objekt und führt zu Standardobjekten - Java, Json, Jackson

Ich versuche, Json-String in ein Java-Objekt zu konvertieren. Alles läuft gut, Objekt wird erstellt, aber die Eigenschaften werden nicht übergeben. Dies führt zu einem leeren (Standard) Objekt. Was fehlt mir?

Hier ist ein Java-Objektmodell:

public class LetterCounts implements Serializable {

private String UserId;
private int Total;
private int UnRead;
private int Flagged;
private boolean Deleted;

public LetterCounts(){
}
//getters and setters
}

Hier ist mein Codeausschnitt:

ObjectMapper mapper = new ObjectMapper();
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
T returnValue = mapper.readValue(sb.toString(), clazz);

Hier ist clazz der Name der Klasse, in die ich konvertieren muss (in diesem Fall LetterCounts).

{"$id":"1","UserId":"users_1","Total":30,"UnRead":13,"Flagged":17,"Deleted":false}

Wenn ich zur Deserialisierung gson benutze, funktioniert das gut. Aber ich muss Jackson Konverter verwenden.

Antworten:

0 für die Antwort № 1

Es scheint ein Problem mit Ihrer Variablenbenennung zu sein. Da Sie Ihre Getter- und Setter-Methoden ausgelassen haben, gehe ich davon aus, dass sie so aussehen setUserId(String UserId), getUserId(), usw. Jackson erwartet (konsistent mit den Java-Namenskonventionen), dass die Felder in Ihrer JSON benannt werden userIdusw. (Kleinbuchstaben beachten!). Du kannst den ... benutzen JsonProperty-Anmerkung um den gewünschten Namen zu erzwingen (beispielsweise @JsonProperty ("UserId"))