Page 1 of 1

So finden Sie einen Schlüsselwert in einer verschachtelten Map in Java

Posted: 18 Jan 2025, 19:10
by Guest
Ich frage Open Search ab, das das Objekt Map zurückgibt (stellt ein JSON in Open Search dar). Ich habe einen Pfad wie key1.key2.key3 und möchte den Wert unter diesem Pfad abrufen. Grundsätzlich möchte ich das Äquivalent von JavaScripts GivenMap["key1"]["key2"]["key3"] in Java. Möglicherweise ist der Pfad nicht in der Karte vorhanden. Gibt es eine Standardmethode für den Umgang mit Freiformkarten in Java?
Derzeit habe ich Folgendes getan:

Code: Select all

Object currentValue = givenMap;
String[] keys = path.split("\\.")
for (String key : keys) {
if (currentValue instanceof Map) {
currentValue = ((Map) currentValue).get(key);
} else {
currentValue = null; break;
}
}
return currentValue;
Das funktioniert, aber ich frage mich, ob das in irgendeinem Fall kaputt gehen wird.