ich ein JSON-Objekt haben, wie folgt:Finden JSON Geschwister ohne Eltern mit JsonNode in java
[
{
"name":"thisIsAName",
"id":1
},
{
"name":"anotherName",
"id":2
},
{
"name":"anotherName2",
"id":3
}
]
und ich versuche, die ID zu finden, auf den Namen basiert. Wie navigierst du zum Geschwister, wenn es kein Elternteil gibt? Ich erhalte die JSON von einer Client-Antwort Jersey:
Response responseObject = client.getAllObjects();
JsonNode responseAsNode = responseObject.readEntity(JsonNode.class);
Wenn ich nach dem Namen: responseAsNode.findValue("name");
, dann gibt es mir richtig ein List<JsonNode>
, die jedes Namenselement enthält, so kann ich, dass für den einen suchen, die übereinstimmt meine erwartet, aber es gibt nur eine Liste von JsonNodes "name":"value",
zurück.
for (JsonNode node : responseAsNode.findValues("name")){
if (node.textValue().equals("ftp-" + DEFAULT_ENV.toLowerCase())) {
//Now, find my id and do something with it.
break;
}
}
Wenn ich node.getParent()
anrufe, bekomme ich eine Ausnahme, da es keine Eltern ist. Anders als die Entwickler bitten, "list":
an der Front des Json hinzuzufügen, was soll ich versuchen?
Ermitteln Sie Ihre Position im Array mit i in Ihrer for-Schleife. Sie können dann die ID mit responseAsNode.get (i) .get ("id") erhalten –
Es ist so einfach, ich fühle mich dumm für das Vermissen. –