Ich versuche, Java-Objekt zu JSON-Objekt in Tomcat/Jersey mit Jackson zu konvertieren. Und möchte die Serialisierung (Schreiben) bestimmter Eigenschaften dynamisch unterdrücken.Jackson - Serialisierung (Schreiben) von Eigenschaften dynamisch unterdrücken
Ich kann JsonIgnore verwenden, aber ich möchte die Ignore-Entscheidung zur Laufzeit treffen. Irgendwelche Ideen??
So als Beispiel unten, ich will „id“ Feld zu unterdrücken, wenn ich das Benutzerobjekt zu JSON serialisiert ..
new ObjectMapper.writeValueAsString(user);
class User {
private String id = null;
private String firstName = null;
private String lastName = null;
//getters
//setters
}//end class
danke. Ich denke, das Map-Muster ist auch etwas schwach, wenn es darum geht, JSON-Arrays zu erstellen. Zuordnung map1 = new HashMap (); map1.put ("fname", "Steve"); map1.put ("lname", "Colly"); \t \t Zuordnung map2 = new HashMap (); map2.put ("fname", "Josh"); map2.put ("lname", "Roff"); Liste jsonArray = new ArrayList(); jsonArray.add (Karte1); jsonArray.add (Karte2); neuer ObjectMapper(). WriteValueAsString (jsonArray) ... erzeugt nicht ??? [{'fname': 'Steve','name ':' Colly '}, {' fname ':' Josh ',' lname ':' Roff '}] –
kapso
@ kapil.isr: Ja, tut es, ich habe es gerade versucht, es funktioniert gut. Die Reihenfolge der Schlüssel ist unterschiedlich, aber das liegt daran, dass Sie eine 'HashMap' anstelle einer' LinkedHashMap' verwendet haben. – skaffman
o ja, es funktioniert, sorry typo :) vielen dank !! – kapso