I just tried to parse the given URL using GSON but I get some problems.
The url
http://api.flickr.com/services/feeds/photos_public.gne?format=json
jsonFlickrFeed({
"title": "Uploads from everyone",
"link": "http://www.flickr.com/photos/",
.....)
The Json response is some thing like this . which contains a ({ in the begning of string which make problem in parsing.
java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1
My model class is below like this:
public class Flicker {
public JsonFlickrFeed jsonFlickrFeed;
public JsonFlickrFeed getDealList() {
return jsonFlickrFeed;
}
public static class JsonFlickrFeed{
public String title;
public String link;
public String description;
public String modified;
public String generator;
public List<Items> items = new ArrayList<Flicker.Items>();
}
public static class Items {
public String title;
public String link;
public String media;
public String date_taken;
public String description;
public String published;
public String author;
public String author_id;
public String tags;
}
}
Take a look on Json and you can see that media is class:
"media": {"m":"http://farm4.staticflickr.com/3706/10153214694_177e2dcd6d_m.jpg"},
Therefore I added new class Media with String m;
BTW, you don't need to initiate List<Items> items = new ArrayList<Flicker.Items>();
Gson does that for you and convert any List to LinkedList
Here is a working code with fix:
Launcher
str = str.substring("jsonFlickrFeed(".length(), str.length()-1);
Gson gson = new Gson();
System.out.println(str);
JsonFlickrFeed jj = gson.fromJson(str, JsonFlickrFeed.class);
System.out.println((jj != null)?"true":"false");
Media
public class Media {
public String m;
}
JsonFlickrFeed
public class JsonFlickrFeed {
public String title;
public String link;
public String description;
public String modified;
public String generator;
public List<Items> items;
}
Items
public class Items {
public String title;
public String link;
public Media media;
public String date_taken;
public String description;
public String published;
public String author;
public String author_id;
public String tags;
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With