Ich habe folgende Json Struktur:Parsing einen JSON-Array mit Play-Framework und Java
{
"name": "John",
"surname": "Doe",
"languages": [
{"language": "english", "level": "3"},
{"language": "french", "level": "1"}
]
}
ich die Play-Framework verwenden Json Daten aus einer HTTP-Nachricht zu analysieren, die unter Verwendung eines selbst entwickelte gesendet wurden REST-Service.
JsonNode json = request().body().asJson();
String name = json.findPath("name").textValue();
String surname = json.findPath("surname").textValue();
Nun meine Frage ist, wie kann ich die Array „Sprachen“ in der Json analysieren: Ich weiß schon, wie ich durch einen Blick auf der Dokumentation die Namen und Nachnamen aus den JSON-Daten analysieren kann, wird dies durch getan Daten. Ich habe einige andere Posts zu diesem Problem gefunden, aber sie alle benutzen Scala, was ich nicht verstehen kann, also suche ich am liebsten nach einer Java-Lösung.
Ich habe bereits versucht, einige Dinge, wie zum Beispiel dieses:
List<JsonNode> languages = json.findPath("languages").getElements();
Gemäß der Dokumentation json.findPath() gibt einen JsonNode, auf das die Funktion GetElements aufgerufen werden kann(), die zurückkehrt ein Iterator von JsonNode. Aber ich bekomme einen Kompilierfehler bei getElements: "Die Methode getElements() ist nicht definiert für den Typ JsonNode"
Wer weiß von einer einfachen Möglichkeit, ein solches Array zu parsen? Vielen Dank im Voraus
Danke für den Tipp! Ich werde es überprüfen, während ich spreche. – jensbrulmans
Ich habe erreicht, was ich wollte mit 'ArrayNode array = json.withArray (" fieldName ");' Vielen Dank Sebster! – jensbrulmans
@sebster hast du meinen Tag gemacht. Funktioniert perfekt –