Konvertieren Sie das JsonNode-Objekt in Map

Lesezeit: 1 Minute

Benutzer-Avatar
visk

Ich habe ein C#-Programm, das mir ein JSON-Objekt sendet. Ich erstelle eine Java Play-Website, um die POST-Daten zu erfassen. Ich bekomme die richtigen Daten als JsonNode Objekt, muss es aber in ein konvertieren Map.

Ich benutze com.fasterxml.jackson.databind.JsonNode

Hier erfasse ich das JsonNode-Objekt korrekt:

public static Result index() {
    JsonNode json = request().body().asJson();
}

Jetzt, wo ich das Objekt habe, muss ich herausfinden, wie ich es in a umwandeln kann Map damit ich so etwas zaubern kann. Später will ich das umwandeln Map zurück in ein json-Objekt, das in der Antwort gesendet werden soll.

Ich habe in der Dokumentation nachgesehen, aber die verfügbaren Methoden schreien nicht nach der Lösung.

Hier ist die Dokumentation, auf die ich mich in diesem Zusammenhang beziehe JsonNode Objekt:
http://fasterxml.github.io/jackson-databind/javadoc/2.2.0/com/fasterxml/jackson/databind/JsonNode.html

Benutzer-Avatar
mhogerheide

Ich bin hierher gekommen, um selbst eine Antwort zu finden. Etwas tiefer gegraben und hier ein bisschen die Antwort gefunden

Verwenden Sie im Grunde nur die ObjectMapper Um den Wert für Sie umzurechnen:

ObjectMapper mapper = new ObjectMapper();
Map<String, Object> result = mapper.convertValue(jsonNode, new TypeReference<Map<String, Object>>(){});

  • Korrektur, es ist übrigens Map. Der Wert kann String, Integer, … sein.

    – Espinosa

    12. Juni 2015 um 16:31 Uhr

  • Vielleicht möchten Sie Map result = mapper.convertValue(jsonNode, new TypeReference>(){}); um eine Warnung vor ungeprüfter Zuweisung von Map zu Map zu vermeiden.

    – Lobo

    13. Juni 2019 um 13:04 Uhr


1187580cookie-checkKonvertieren Sie das JsonNode-Objekt in Map

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy