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.