Jackson: Konvertieren der JSON-Eigenschaft in ein verschachteltes Objekt mit Punktnotation

8

Ich habe ein JSON wie dieses

%Vor%

Beachten Sie den Punkt auf der Eigenschaft "parent.id"

Ist es möglich, diese JSON den folgenden Klassen zuzuordnen?

%Vor%

Das Mapping-Ergebnis würde also den folgenden Anweisungen ähnlich sein:

%Vor%     
Fitrah M 19.01.2012, 04:39
quelle

1 Antwort

13

Sie können dies konvertieren

%Vor%

in diese

%Vor%

mit diesem

%Vor%

und dann können Sie Ihren Code mit JSON.serialize() serialisieren.

Wenn Sie Jackson verwenden, können Sie die JSON-Anforderungszeichenfolge deserialisieren, indem Sie eine der folgenden Aktionen ausführen:

1. Erstellen Sie ein benutzerdefiniertes Jackson Deserialize-Modul

2. parsen Sie den JSON selbst

%Vor%

Der Nachteil dieser Methode ist, dass Sie für jedes einzelne JsonRequest mit verschachtelten Objekten analysieren müssen, und es wird unordentlich, wenn eine komplexe verschachtelte Struktur vorhanden ist. Wenn das ein Problem ist, schlage ich vor, dass Sie die # 3

machen

3. Erstellen Sie eine benutzerdefinierte Jackson ObjectMapper-Klasse, um diesen Prozess zu automatisieren.

Die Idee besteht darin, einen generischen Prozess für # 2 zu erstellen, damit er jede verschachtelte Anfrage verarbeiten kann.

%Vor%

Wenn Sie Spring verwenden, registriert der letzte Schritt diese Klasse als Spring Bean.

%Vor%

mit diesen Einstellungen können Sie leicht verwenden

%Vor%

Hoffe das hilft:)

    
Iqbal Djulfri 20.06.2012, 04:40
quelle

Tags und Links