2016-06-13 6 views
1

Ich bin ein JSON-Nutzlast von Postgres DB meiner Application als recieving:Postgres Text in Java konvertieren Liste?

{ 
    "allAttributes" : { 
    "name" : "some-name", 
    "U_labels" : "{label26}" 
    } 
} 

So analysieren ich diesen json es in ein POJO in Java json Bibliothek jackson zu konvertieren.

Allerdings sind einige Felder wie U_labels in Postgres Text Array und List<String> in Java. So "U_labels" : "{label26}" wird voraussichtlich "U_labels" : "[label26]". sein

Wie kann diese Zuordnung in Jackson erreicht werden?

Antwort

0

Nicht sicher, aber vielleicht etwas wie folgt aus:

List<String> stringList = mapper.readValue(jsonString, 
    typeFactory.constructCollectionType(List.class, String.class)); 
+0

Das für ganze JSON-String lesen wil, aber ich werde benötigen einen individuellen Schlüssel ('„U_labels“') zu konvertieren 'Liste ' zu konvertieren . –

+0

Sie müssen die geschweiften Klammern mithilfe der String-Substitution entfernen. Da {U_labels} kein Array in JSON ist. – Popeye

+0

@Popeye: Gibt es keine andere Lösung? Vielleicht könnte der Einsatz von 'objectMapper' helfen? So wie es sein wird, wird es einige Schlüssel geben, die tief verschachtelt werden, ich würde dort eine Zeichenfolge-Ersetzung auf der verschachtelten Ebene durchführen müssen. –