当前位置: 首页 > 知识库问答 >
问题:

GSON解析与改型解析Flickr JSON响应

厉永宁
2023-03-14

其答复如下:

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

共有1个答案

松钊
2023-03-14

只需添加nojsoncallback参数

https://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=2ef592bfddc86f508550184ec706a2fc&tags=gent&per_page=2&format=json&nojsoncallback=1

你可以在这里找到它的文档

 类似资料:
  • 我是新来改装的。我已经在大多数Web服务中使用了volley,决定继续改进。但是我被Json解析所困,我在POJO类中得到了空数据。我尝试通过检查响应,我的响应是正确的,当我在模型类中解析时,我得到的是空白数据。请指导我,任何帮助都将不胜感激。 注意:POJO类是可parcelable,还包含cunstructor和gette/setter。我从这里删除了它,因为文本限制。 JSON响应

  • 如何使用GSON解析这个json? 我的代码: 我的stacktrace com.google.gson.JsonSyn出租车异常:java.lang.IllegalStateExctive:预期BEGIN_OBJECT但BEGIN_ARRAY在第1行第2列路径$com.google.gson.internal.bind.ReflecteTypeAdapterFactory$Adapter.rea

  • 但是我的DetailModel是一个基类,我的user.class和organization.class是DetailModel的子类。但是我不知道如何解析对我的用户或组织模型的响应。

  • 由于某种原因,我遇到了一个解析错误。我把范围缩小到“什么”,而不是“为什么”。 以下是我的测试脚本: 通过上面的测试xml字符串,我得到了“无法…”条件然而,当我取出“”时,它工作了!显然simplexml_load_string()有一些细节。但我收到了这个带有的响应,我不想首先执行查找/替换脚本。 还有,我这样做对吗?最后,我需要开始解析CUS帐户,提取其中的数据。

  • val homeFeed=gson.fromjson(正文,列表::class.java) 我的代码: