小编Jen*_*sse的帖子

GSON使用Retrofit解析Flickr JSON响应进行解析

我好像有以下问题.我正在使用改造来获取JSON文件并将其解析为java对象.

我正在考虑的网址是:https: //api.flickr.com/services/rest/?method = tvl.photos.search&api_key = 2ef592bfddc86f508550184ec706a2fc&targs =gent&per_page = 2&format = json

回复:

 jsonFlickrApi({"photos":{"page":1,"pages":130008,"perpage":2,"total":"260016","photo":[{"id":"15817874286","owner":"36687364@N07","secret":"e480e6fe0c","server":"7475","farm":8,"title":"3D visualisatie","ispublic":1,"isfriend":0,"isfamily":0},{"id":"15817785516","owner":"36687364@N07","secret":"132f12dff1","server":"7496","farm":8,"title":"schetsontwerp","ispublic":1,"isfriend":0,"isfamily":0}]},"stat":"ok"})
Run Code Online (Sandbox Code Playgroud)

我相信问题在于响应前面的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);
Run Code Online (Sandbox Code Playgroud)

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

        }
    });
}
Run Code Online (Sandbox Code Playgroud)

我明白了

 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 …
Run Code Online (Sandbox Code Playgroud)

java android gson retrofit

5
推荐指数
1
解决办法
2039
查看次数

标签 统计

android ×1

gson ×1

java ×1

retrofit ×1