Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

try Parse Json in Android, get arraylist exception

I have a json like this:

[{"campaignName":"2012 Q1","id":1,"source":"Added by subject","status":"Draft","subject":"Test Subject1"},{"campaignName":"2012 Q2","id":2,"source":"Added by reviewer","status":"Created","subject":"Test Subject2"},{"campaignName":"2012 Q2","id":3,"source":"Added by reviewer","status":"Created","subject":"Test Subject62"}]

I have classes:

public class Json_ToDoData {
private ArrayList<ToDo> mList;

public Json_ToDoData() {

}

public ArrayList<ToDo> getmList() {
    return mList;
}

public void setmList(ArrayList<ToDo> mList) {
    this.mList = mList;
}

}

and: `public class ToDo { public ToDo() { }

@SerializedName("campaignName")
private String campaignName;

@SerializedName("id")
private String id;

@SerializedName("source")
private String source;

@SerializedName("status")
private String status;

@SerializedName("subject")
private String subject; ... gettes and settes ...}`

I always get an excepiton:

10-08 15:17:46.600: W/System.err(2557): java.lang.ClassCastException: java.util.ArrayList and I do not understand why. here is my line to parse:

            Json_ToDoData rr = new JSONDeserializer<Json_ToDoData>().deserialize(sb.toString(), Json_ToDoData.class);

Please help on me, thx

like image 620
narancs Avatar asked Aug 26 '26 04:08

narancs


1 Answers

I think the issue is that user json string is not in proper format. Try to format your json string in below format:

{ 
    jsonObjectName: 
    [ 
          { 
             "campaignName":"2012 Q1", 
             "id":1,
             "source":"Added by subject",
             "status":"Draft",
             "subject":"Test Subject1"
          } 
    ] 
}
like image 75
Yaqub Ahmad Avatar answered Aug 27 '26 18:08

Yaqub Ahmad



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!