This is my Json:
{
"feed": [
{
"id": "124124124124",
"source": "aaaaaa",
"comment_count": 0,
"link": "bbbbb",
"created_time": "2012-05-30T15:57:05+0000",
"message": "ccccc",
"type": "dddd",
"thumbnail": "eeeee"
},
{
"id": "35464423423412414",
"source": "qweqddq",
"comment_count": 0,
"link": "adadasdwe",
"created_time": "2012-05-30T15:52:21+0000",
"message": "dadsadad",
"type": "sfdcsdv",
"thumbnail": "csdgfsd"
},
{
"name": "asdadqwff",
"id": "73182372381",
"source": "lajhdkbad",
"comment_count": 0,
"link": "adjkbxczckbj",
"created_time": "2012-05-30T15:40:28+0000",
"message": "awjasdjands",
"type": "lalkdm",
"thumbnail": "akmldsncj"
}
]
}
These are my java classes to use in parsing:
public class Feed {
@SerializedName("feed")
ArrayList<FeedResult> feed;
public ArrayList<FeedResult> getFeed() {
return feed;
}
public void setFeed(ArrayList<FeedResult> feed) {
this.feed = feed;
}
}
public class FeedResult {
@SerializedName("id")
String id;
@SerializedName("created_time")
String created_time;
@SerializedName("message")
String message;
@SerializedName("thumbnail")
String thumbnail;
@SerializedName("comment_count")
String comment_count;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getCreated_time() {
return created_time;
}
public void setCreated_time(String created_time) {
this.created_time = created_time;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public String getThumbnail() {
return thumbnail;
}
public void setThumbnail(String thumbnail) {
this.thumbnail = thumbnail;
}
public String getComment_count() {
return comment_count;
}
public void setComment_count(String comment_count) {
this.comment_count = comment_count;
}
}
This is the inside of main class:
InputStream source = retrieveStream(url);
Gson gson=new Gson();
Reader reader = new InputStreamReader(source);
Feed feeds=gson.fromJson(reader,Feed.class);
ArrayList<FeedResult>feed=new ArrayList<FeedResult>();
feed=feeds.getFeed();
Toast.makeText(this,"feed --> ?? "+ feed, Toast.LENGTH_LONG).show();
feeds.getFeed() returns null. Why is that? thanks for your help already.
instead of giving inputstream directly to the GSON constructor, download the JSON string first from the URL and then pass it to the constructor for parsing as below:
the read function:
add toString() function in your FeedResult class, so that it will get printed to console in readable manner: