Как я могу конвертировать JSON в ArrayList с помощью Gson?

Привет, я очень новый для Android, и я хочу преобразовать мой объект JSON в ArrayList, используя Gson для этого, я написал код ниже, но это не работает.

Пожалуйста, помогите мне.

Как я могу преобразовать мой объект JSON в ArrayList?

Ответ JSON:-

{ 
    "header" : { 
        "alerts" : [ 
            {
                "AlertID" : "2",
                "TSExpires" : null,
                "Target" : "1",
                "Text" : "woot",
                "Type" : "1"
            },
            { 
                "AlertID" : "3",
                "TSExpires" : null,
                "Target" : "1",
                "Text" : "woot",
                "Type" : "1"
            }
        ],
        "session" : "0bc8d0835f93ac3ebbf11560b2c5be9a"
    },
    "result" : "4be26bc400d3c"
}

мой код:-

private void handleEscortRelations(String JSONresponse) {

        if (JSONresponse != null) {

            // Now convert the JSON string back to your java object
            Type type = new TypeToken<List<TerritoryBean>>() {
            }.getType();
            ArrayList<String> escortRelationList = new ArrayList<>();
            escortRelationList = new Gson().fromJson(JSONresponse, type);
        }
    }

modelObject:-

public class TerritoryBean {

    private String AlertID;
    private String Text;

    public String getAlertID() {
        return AlertID;
    }

    public void setAlertID(int AlertID) {
        AlertID = AlertID;
    }

    public String getText() {
        return Text;
    }

    public void setText(String Text) {
        Text = Text;
    }
}

1 ответ

Решение

Вы должны выровнять свои классы по структуре json:

public class Response {
    private Header header;
    private String result;
}
public class Header {
    private List<TerritoryBean> alerts;
    private String session;
}
public class TerritoryBean {
    private String AlertID;
    private String TSExpires;
    private String Target;
    private String Text;
    private String Type;
}

Оттуда вы сможете десериализовать свой json для объекта Response.

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