Я запрашиваю открытый поиск, который возвращает объект Map (представляет JSON в открытом поиске). У меня есть путь типа key1.key2.key3, и я хочу получить значение по этому пути. По сути, мне нужен эквивалент заданногоMap["key1"]["key2"]["key3"] в JavaScript в Java. Возможно, путь не существует на карте. Есть ли какой-нибудь стандартный способ работы с картами произвольной формы в Java?
В настоящее время я сделал это -
Код: Выделить всё
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;
Это работает, но мне интересно, не сломается ли это в каком-то случае.
Подробнее здесь:
https://stackoverflow.com/questions/793 ... ap-in-java