Я пытаюсь проанализировать объект json в следующем формате:
{
'result': (json array or json object) ,
}
Код, который я использую для анализа строки json:
Map<String, Object> responseMap = new Gson().fromJson(
json,
new TypeToken<HashMap<String, Object>>() {}.getType()
);
Когда поле результата - это объект JSON, проверка которого с помощью следующей строки кода возвращает «LinkedTreeMap»
// returns "LinkedTreeMap"
responseMap.get("result").getClass().getSimpleName()
Аналогичным образом, все вложенные объекты JSON анализируются в com.google.gson.internal.LinkedTreeMap. Есть ли способ заставить GSON анализировать объекты JSON в java .util.HashMap по умолчанию вместо com.google.gson.internal.LinkedTreeMap.
Обычный способ решить эту проблему, кажется чтобы написать класс, определяющий структуру, которую я ожидал бы увидеть в объекте response JSON. Однако значение, содержащееся в поле «результат», может быть объектом JSON или массивом JSON, и у меня нет стандартного формата для ожидаемых возвращаемых объектов и того, что они могут содержать.