5
我似乎有以下問題。我正在使用retrofit來獲取JSON文件並將其解析爲java對象。GSON解析與改造解析Flickr JSON響應
與回覆:
jsonFlickrApi({"photos":{"page":1,"pages":130008,"perpage":2,"total":"260016","photo":[{"id":"15817874286","owner":"[email protected]","secret":"e480e6fe0c","server":"7475","farm":8,"title":"3D visualisatie","ispublic":1,"isfriend":0,"isfamily":0},{"id":"15817785516","owner":"[email protected]","secret":"132f12dff1","server":"7496","farm":8,"title":"schetsontwerp","ispublic":1,"isfriend":0,"isfamily":0}]},"stat":"ok"})
我認爲,問題出在jsonFlickrApi在響應的前面。
當執行以下代碼:
@GET("/rest/")
void getPhotos(@Query("method") String method,@Query("api_key") String apiKey,@Query("tags") String tags,@Query("per_page")String perPage,@Query("format") String format, Callback<FlickrResult> data);
和
flickerRestAPI.getPhotos("flickr.photos.search","2ef592bfddc86f508550184ec706a2fc","gent","10","json",new Callback<FlickrResult>() {
@Override
public void success(FlickrResult photos, Response response) {
Log.i(TAG, " " + photos.toString());
}
@Override
public void failure(RetrofitError error) {
Log.e(TAG,"Failed");
Log.e(TAG," " +error.getUrl());
Log.e(TAG," "+error.getMessage());
}
});
}
我得到
11-21 19:15:54.476 12058-12058/be.hogent.festivalproject E/MainActivity﹕ com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
我使用的包裝類:
public class FlickrResult {
@SerializedName("photos")
public FlickrPhotos photos;
}
public class FlickrPhotos {
public int page;
public String pages;
public int perpage;
public String total;
public ArrayList<FlickrPhoto> photo;
public String stat;}
public class FlickrPhoto {
public String id;
public String owner;
public String secret;
public String server;
public int farm;
public String title;
public int ispublic;
public int isfriend;
public int isfamily;}
非常感謝你,這確實做的伎倆!一直在尋找它幾個小時:) – 2014-11-21 18:48:43
@JensBuysse不要忘記接受答案:) – 2014-11-23 04:58:48
我希望每個人都會關心以同樣的方式接受答案,他們關心讓他們的問題得到解決.. – walialu 2014-11-23 16:10:41