Jackson JSON-Generator erstellt Null-JSON-Werte für fehlende Objekte

8

Ich habe begonnen, Jackson als JSON-Generator zu verwenden, als Alternative zu Google GSON. Ich bin auf ein Problem gestoßen, bei dem Jackson Objekt: null erzeugt, wenn das Objekt tatsächlich null ist. GSON dagegen erzeugt in JSON keinen Eintrag, was das gewünschte Verhalten ist. Gibt es eine Möglichkeit, Jackson davon abzuhalten, ein Null-Objekt / Wert zu erzeugen, wenn ein Objekt fehlt?

Jackson

%Vor%

erzeugt dies:

{"eatwithrustyspoon": { "urlList": null , "Gerät": "iPad", "os": "iPhone OS", "peer_id":

und GSON sieht so aus:

%Vor%

und es generiert dies (was ich will - beachten Sie, dass "urlList": null wurde nicht generiert):

{"eatwithrustyspoon": {"Gerät": "iPad", "os": "iPhone OS", "peer_id"

    
geekyaleks 13.02.2013, 16:37
quelle

3 Antworten

12

Aus der Jackson-FAQ :

Kann ich das Schreiben von Bean-Eigenschaften mit Null-Wert auslassen? ("Wie man das Schreiben von Null-Eigenschaften verhindert", "Wie man Null-Werte unterdrückt")

Ja. Gemäß JacksonAnnotationSerializeNulls können Sie Folgendes verwenden:

%Vor%

und voila, keine Nullwerte mehr. Beachten Sie, dass Sie den Mapper konfigurieren müssen, bevor die Beans serialisiert werden, da diese Einstellung möglicherweise zusammen mit den Serialisierern zwischengespeichert wird. Wenn Sie es also zu spät setzen, kann die Änderung möglicherweise nicht wirksam werden.

    
Brian Roach 13.02.2013, 16:42
quelle
1

Die folgende Lösung hat mich gerettet.

%Vor%     
Ghost Rider 28.07.2016 09:01
quelle
1

mein Problem war etwas anders, ich bekam tatsächlich Null-Werte für die Eigenschaften der POJO-Klasse.

Wie auch immer, ich habe das Problem gelöst, indem ich den Eigenschaften in meiner Pojo-Klasse wie folgt zugeordnet habe:

@JsonProperty ("PROPERTY_NAME")

dachte, es könnte jemandem helfen:)

    
Prateek S 05.10.2016 12:33
quelle

Tags und Links