gson反序列化android问题

时间:2012-12-02 17:25:48

标签: java android gson

我使用gson从远程服务反序列化json feed, 我有一个饲料json有结构:

{
"getListContentGroupOfAppIDResult":{
"error":1,
"listContentGroup":[
{
"contentgroupID":"30",
"contentgroupImage":null,
"contentgroupName":"Series 1",
"contentgroupappID":"14"
},
{
"contentgroupID":"31",
"contentgroupImage":null,
"contentgroupName":"Series 2",
"contentgroupappID":"14"
}
],
"msg":"SUCCESS"
}

}

这是我的系列对象:

public class Series implements Parcelable {
        private String contentgroupID;
        private String contentgroupName;
        private String contentgroupImage;
        private String contentgroupappID;

        public String getcontentgroupappID() {
            return contentgroupappID;
        }

        public void setcontentgroupappID(String contentgroupappID) {
            this.contentgroupappID = contentgroupappID;
        }

        public String getcontentgroupID() {
            return contentgroupID;
        }

        public void setcontentgroupID(String contentgroupID) {
            this.contentgroupID = contentgroupID;
        }

        public String getcontentgroupName() {
            return contentgroupName;
        }

        public void setcontentgroupName(String contentgroupName) {
            this.contentgroupName = contentgroupName;
        }

        public String getcontentgroupImage() {
            return contentgroupImage;
        }

        public void setcontentgroupImage(String contentgroupImage) {
            this.contentgroupImage = contentgroupImage;
        }

        public Series() {
            super();
            // TODO Auto-generated constructor stub
        }

        public Series(String contentgroupID, String contentgroupName,
                String contentgroupImage, String contentgroupappID) {
            super();
            this.contentgroupID = contentgroupID;
            this.contentgroupName = contentgroupName;
            this.contentgroupImage = contentgroupImage;
            this.contentgroupappID = contentgroupappID;
        }

        public Series(Parcel in) {
            contentgroupID = in.readString();
            contentgroupImage = in.readString();
            contentgroupName = in.readString();
            contentgroupappID = in.readString();
        }

        public int describeContents() {
            // TODO Auto-generated method stub
            return 0;
        }

        public void writeToParcel(Parcel dest, int flags) {
            // TODO Auto-generated method stub
            dest.writeString(contentgroupID);
            dest.writeString(contentgroupImage);
            dest.writeString(contentgroupName);
            dest.writeString(contentgroupappID);
        }

    public static final Parcelable.Creator<Series> CREATOR = new Parcelable.Creator<Series>() {

        public Series createFromParcel(Parcel in) {
            // TODO Auto-generated method stub
            return new Series(in);
        }

        public Series[] newArray(int size) {
            // TODO Auto-generated method stub
            return new Series[size];
        }
    };
}

这是我的ListSeries对象:

public class ListSeries implements Serializable {
        private ArrayList<Series> listContentGroup;// listContentGroup
        private String error;
        private String msg;

        public ArrayList<Series> getlistContentGroup() {
            return listContentGroup;
        }

        public void setlistContentGroup(ArrayList<Series> listContentGroup) {
            this.listContentGroup = listContentGroup;
        }

        public String getError() {
            return error;
        }

        public void setError(String error) {
            this.error = error;
        }

        public String getMsg() {
            return msg;
        }

        public void setMsg(String msg) {
            this.msg = msg;
        }

        public ListSeries() {
            // TODO Auto-generated constructor stub
        }

        public ListSeries(ArrayList<Series> listContentGroup, String error,
                String msg) {
            super();
            this.listContentGroup = listContentGroup;

            this.error = error;
            this.msg = msg;
        }
    }

现在正在使用gson将json反序列化为对象

 // Making HTTP request
        try {
            // defaultHttpClient
            DefaultHttpClient httpClient = new DefaultHttpClient();
            HttpGet httpGet = new HttpGet(url);
            HttpResponse httpResponse = httpClient.execute(httpGet);
            HttpEntity httpEntity = httpResponse.getEntity();
            static InputStream is = httpEntity.getContent();

        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        } catch (ClientProtocolException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }


    Gson gson = new Gson();
            try {
                   ListSeries list = gson.fromJson(new InputStreamReader(is),
                        ListSeries.class);
                Log.e("MSG", list.getMsg());

但不能反序列化为对象。请帮帮我!

0 个答案:

没有答案