gpt4 book ai didi

android - 使用 GSON 解析 URL

转载 作者:行者123 更新时间:2023-11-29 00:26:11 24 4
gpt4 key购买 nike

我只是尝试使用 GSON 解析给定的 URL,但遇到了一些问题。

网址

http://api.flickr.com/services/feeds/photos_public.gne?format=json

jsonFlickrFeed({
"title": "Uploads from everyone",
"link": "http://www.flickr.com/photos/",
.....)

Json 响应是这样的。其中包含一个 ({ 在字符串的开头,这会导致解析出现问题。

java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1

我的模型类如下:

 public class Flicker {

public JsonFlickrFeed jsonFlickrFeed;

public JsonFlickrFeed getDealList() {

return jsonFlickrFeed;
}

public static class JsonFlickrFeed{

public String title;
public String link;
public String description;
public String modified;
public String generator;
public List<Items> items = new ArrayList<Flicker.Items>();

}

public static class Items {

public String title;
public String link;
public String media;
public String date_taken;
public String description;
public String published;
public String author;
public String author_id;
public String tags;
}


}

最佳答案

看看 Json,你可以看到 media是类:

"media": {"m":"http://farm4.staticflickr.com/3706/10153214694_177e2dcd6d_m.jpg"},

因此我添加了新类 MediaString m;

顺便说一句,您不需要启动 List<Items> items = new ArrayList<Flicker.Items>();

Gson 会为你做这些并转换任何 ListLinkedList

这是一个修复后的工作代码:

启动器

str = str.substring("jsonFlickrFeed(".length(), str.length()-1);

Gson gson = new Gson();
System.out.println(str);
JsonFlickrFeed jj = gson.fromJson(str, JsonFlickrFeed.class);

System.out.println((jj != null)?"true":"false");

媒体

public class Media {
public String m;
}

JsonFlickrFeed

public class JsonFlickrFeed {
public String title;
public String link;
public String description;
public String modified;
public String generator;
public List<Items> items;
}

项目

public class Items {
public String title;
public String link;
public Media media;
public String date_taken;
public String description;
public String published;
public String author;
public String author_id;
public String tags;
}

关于android - 使用 GSON 解析 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19245589/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com