Используйте GSON для синтаксического анализа json объектов в java .util.HashMap - PullRequest
0 голосов
/ 06 мая 2020

Я пытаюсь проанализировать объект 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, и у меня нет стандартного формата для ожидаемых возвращаемых объектов и того, что они могут содержать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...