У меня есть HashMap, который заполняется из файла JSON. Значения в паре "ключ-значение" могут быть двух разных типов: строка или другая пара "ключ-значение".
Например:
HashMap<String,Object> hashMap = new Map();
Файл JSON выглядит примерно так:
"custom": {
"mappedReference": {"source": "someMappedReference"},
"somethingElse": "some literal"
}
}
Позже, после заполнения hashMap, когда я выполняю итерацию, мне нужно проверить, имеет ли значение тип HashMap или String. Я пробовал несколько способов, но, похоже, не могу получить тип объекта на карте.
for(Map.Entry<String,Object> m : hashMap.entrySet())
{
final String key = m.getKey();
final Object value = m.getValue();
if(value instanceof Map<String,String>)
{
//get key and value of the inner key-value pair...
}
else
{
//it's just a string and do what I need with a String.
}
}
Есть идеи о том, как получить тип данных с карты? заранее спасибо
map.get(key).getClass()
stackoverflow.com / questions / 8029618 / - person Donald Wu   schedule 14.02.2017