Разбор только выбранного узла JSON с использованием GSON

Через веб-сервис, который я не могу изменить, я получаю ответ JSON в следующем формате:

{
    "response": {
        "profile": {
            "id": 8873,
             ....
             ....
       }
    }
}

Я использую Retrofit с GSON, чтобы наконец использовать проанализированный JSON, хранящийся в POJO.

Есть ли способ, с помощью которого я могу напрямую получить данные, которые находятся внутри profile объект, в POJO, и пропустить обработку response?

Я в принципе не хочу писать дополнительный класс для хранения объекта response,

1 ответ

Если вы используете json lib, вы можете сначала получить тело ответа, а затем использовать gson, чтобы превратить эту строку json в POJO следующим образом.

import net.sf.json.JSONObject;
public void partJson() {
    String response = "{\n" +
            "    \"response\": {\n" +
            "        \"profile\": {\n" +
            "            \"id\": 8873\n" +
            "       }\n" +
            "    }\n" +
            "}";

    JSONObject responseObject = new JSONObject().fromObject(response);
    JSONObject jsonObject = responseObject.optJSONObject("response");

}
Другие вопросы по тегам