2017-10-31 4 views
0

Ich habe ein Java POJO zu serialisieren und es kann bestimmte Felder enthalten, die dynamisch sein können.Jackson serialisieren dynamische Art Objekte

public class ClassToSerialize { 
    private String property1; 
    private String propertyNameMappedToDBSchema; 

    private List<Data> dataList; 

} 

Dann benutze ich benutzerdefinierte serialize, um sie nach der Struktur zu serialisieren, die ich brauche.

Das Problem ist propertyNameMappedToDBSchema ist Liste ist oben Beispiel, so musste ich Daten wie List verwenden, aber es wäre auch nicht-Liste.

Wie kann ich meine Java POJO machen oder jackson informieren, wo ich die Data machen kann dynamischer Typ auf propertyNameMappedToDBSchema

+0

Pflege, Grund von Downvote zu erklären? –

+1

Vielleicht könnten Sie verschiedene Unterklassen von 'Data' haben, die anders und nach Ihren Bedürfnissen serialisieren würden. – Bill

+0

@Bill: Haben Sie Beispielcode? –

Antwort

2

basierte sein Sie die Art der propertyNameMappedtoDBSchema zu einem JsonNode Jackson ändern können.

Dann können Sie die Methoden von JsonNode wie JsonNode.isArray, JsonNode.isString, JsonNode.isObject usw. verwenden, um zu bestimmen, wie der JsonNode behandelt wird.

Verwandte Themen