-1

嗨,我对 android 很陌生,我想使用 Gson 将我的 JSON 对象转换为 ArrayList,为此我编写了下面的代码,但这不起作用。

请帮我。

如何将我的 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);
        }
    }

模型对象:-

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;
    }
}
4

1 回答 1

2

您应该在 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 对象。

于 2016-04-14T12:02:12.293 回答