So finden Sie einen Schlüsselwert in einer verschachtelten Map in Java
Posted: 18 Jan 2025, 19:10
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:
Das funktioniert, aber ich frage mich, ob das in irgendeinem Fall kaputt gehen wird.
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;