java - GSON 解析与 Retrofit 解析 Flickr JSON 响应

标签 java android gson retrofit

我似乎遇到了以下问题。我正在使用改造来获取 JSON 文件并将其解析为 java 对象。

我正在考虑的网址是: https://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=2ef592bfddc86f508550184ec706a2fc&tags=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"})

我认为问题出在响应前面的 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;}

最佳答案

关于java - GSON 解析与 Retrofit 解析 Flickr JSON 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27067970/

相关文章:

Java Android - Redmi 3 (MIUI) - 无法更改通知图标?

java - 在 Tomcat 上配置 PHP 出现异常 : UnsatisfiedLinkError

android - 在 webview 中添加进度对话框

android - 检测用户何时将数据输入 edittext 立即显示答案

android - json 枚举反序列化破坏了 kotlin 空安全

java - 改造多种响应类型

java - Hibernate 连接表

java - 如何在 Windows Vista 命令提示符中检查端口 8080?

android - 如何为媒体播放器使用 Intent ?

kotlin - 使用 Klaxon 使用动态键解析 map