2014-11-21 21 views
5

Tôi dường như có vấn đề sau. Tôi đang sử dụng trang bị thêm để có được một tệp JSON và phân tích nó thành đối tượng java.GSON phân tích cú pháp với Phân tích lại trang chính xác Phản hồi JSON của Flickr

URL tôi đang xem xét là: https://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=2ef592bfddc86f508550184ec706a2fc&tags=gent&per_page=2&format=json

mà trả lời với:

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"}) 

Tôi tin rằng vấn đề nằm trong jsonFlickrApi ở phía trước của phản ứng.

Khi thực hiện đoạn mã sau:

@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()); 

     } 
    }); 
} 

tôi nhận được

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 $ 

Các lớp wrapper Tôi đang sử dụng là:

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;} 

Trả lời

10
+2

Cảm ơn bạn rất nhiều, điều này thực sự đã làm các trick! Đã tìm kiếm nó trong một vài giờ ngay bây giờ :) –

+1

@ JensBuysse Đừng quên chấp nhận câu trả lời :) –

+0

Tôi muốn tất cả mọi người sẽ quan tâm đến việc chấp nhận câu trả lời theo cùng một cách, họ quan tâm về vấn đề của họ được giải quyết .. – walialu

Các vấn đề liên quan