gpt4 book ai didi

android - 改造 Pojo 模型

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

我通过 http://www.jsonschema2pojo.org/ 从我的 JSON 自动生成了 POJO我用它来改造。这是 JSON:

[{"id":1942,"name":"The Witcher 3: Wild Hunt","first_release_date":1431993600000,"screenshots":[{"url":"//images.igdb.com/igdb/image/upload/t_thumb/z5t0yuhyiiui1ickwhgj.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/farvemmmxav0bgt6wx7t.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/em1y2ugcwy2myuhvb9db.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/usxccsncekxg0wd1v6ee.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/mnljdjtrh44x4snmierh.jpg"}],"videos":[{"video_id":"ZpiczsigQto"},{"video_id":"5nLipy-Z4yo"},{"video_id":"FP7no968jVU"},{"video_id":"_IBAovRNCuA"},{"video_id":"QrwGXAcE6ZA"},{"video_id":"6f8TbvsZ5Mk"},{"video_id":"bcEAsOC_8L0"},{"video_id":"xQGam9OHSUo"},{"video_id":"p14dHAwLOmo"},{"video_id":"8ZLfJjlZKvc"},{"video_id":"sb81f-ejNSI"},{"video_id":"yowv6_rspoM"}],"cover":{"url":"//images.igdb.com/igdb/image/upload/t_thumb/tri1c6vbydeosoqajwt1.jpg"}},{"id":80,"name":"The Witcher","first_release_date":1193356800000,"screenshots":[{"url":"//images.igdb.com/igdb/image/upload/t_thumb/qzgxs5t8zw40o2m290li.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/qwrg0zmgl3hue6zs8bbb.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/jquhmu9izv8i2zf3tb8l.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/jhc0fbq7v6xnwqs9c4pm.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/ekchkvznt1pkre0cvbpl.jpg"}],"cover":{"url":"//images.igdb.com/igdb/image/upload/t_thumb/nrkdzmkevbbevdvm9bxh.jpg"}},{"id":44549,"name":"The Witcher 3: Wild Hunt Collector's Edition","first_release_date":1434672000000,"screenshots":[{"url":"//images.igdb.com/igdb/image/upload/t_thumb/y8caw9l1xoy5ucqoz2ge.jpg"}],"cover":{"url":"//images.igdb.com/igdb/image/upload/t_thumb/wej7rkkjys0lohit1pic.jpg"}},{"id":22439,"name":"The Witcher 3: Wild Hunt - Game of the Year Edition","first_release_date":1472515200000,"screenshots":[{"url":"//images.igdb.com/igdb/image/upload/t_thumb/zvijqp04apwmzqvlgxej.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/a4tiz3sfoblnau6olx10.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/pziw7giojvmp8baw617b.jpg"}],"videos":[{"video_id":"qy8jmm9kY4A"},{"video_id":"YmLeUJgzsXY"},{"video_id":"5wmNeg5WVck"}],"cover":{"url":"//images.igdb.com/igdb/image/upload/t_thumb/whmf3el1gv3ujreysrrh.jpg"}},{"id":20275,"name":"The Witcher: Enhanced Edition","first_release_date":1221523200000,"screenshots":[{"url":"//images.igdb.com/igdb/image/upload/t_thumb/iqmzjkk9xiy7lxjadjcv.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/hcemi3tnjzajiog5p1sk.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/xrry4grvrwvzehqb3guz.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/k3r3djcocmdhn00vwxs8.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/i1ucakdnk52r3i2rbpdm.jpg"}],"videos":[{"video_id":"LMStRRVPt6g"}],"cover":{"url":"//images.igdb.com/igdb/image/upload/t_thumb/iu0fwtdxbhxq3nueup9w.jpg"}},{"id":13166,"name":"The Witcher 3: The Wild Hunt - Blood and Wine","first_release_date":1464652800000,"screenshots":[{"url":"//images.igdb.com/igdb/image/upload/t_thumb/bhvtikx5as53awacxlac.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/iuzxf8iboeyxkggywbsj.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/gynhuum2yb8imujgjlxn.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/k6zrdwofvuccfkkj6qus.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/ixuz3ti1kiqnlzrtodnf.jpg"}],"videos":[{"video_id":"6gpHJWkPYto"},{"video_id":"2OOPrprSwC0"},{"video_id":"k-QWCiHZPNc"},{"video_id":"rIoPrbzI5Z4"}],"cover":{"url":"//images.igdb.com/igdb/image/upload/t_thumb/yqbnxszx6mnpg2ymfdsw.jpg"}},{"id":12503,"name":"The Witcher 3: The Wild Hunt - Hearts of Stone","first_release_date":1444694400000,"screenshots":[{"url":"//images.igdb.com/igdb/image/upload/t_thumb/wrke9dxtduvuubfrm0kq.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/rzpm2ms8e15uekzlwrvy.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/wiw1xlpfihxbe1xlft3t.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/lz3gmntnjo5fojxzvrg5.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/wv5bxefrjdgzxkdufqjg.jpg"}],"videos":[{"video_id":"vyoi-aVU0mw"},{"video_id":"mTHvlito464"}],"cover":{"url":"//images.igdb.com/igdb/image/upload/t_thumb/slppva5kydxsw4ykw0zf.jpg"}},{"id":8765,"name":"The Witcher: Adventure Game","first_release_date":1417046400000,"screenshots":[{"url":"//images.igdb.com/igdb/image/upload/t_thumb/wonicxamvtkyaxdwmvrz.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/qihqvlqmlhr6gjcxqg2k.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/ocwcjm3dn8b2mhe9mwsp.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/bfmiksnjx0d6poi4qa7i.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/gaiyxvvjnvszbf0yeeni.jpg"}],"cover":{"url":"//images.igdb.com/igdb/image/upload/t_thumb/lchergnnb5liqfyatkad.jpg"}},{"id":9689,"name":"The Witcher Battle Arena","first_release_date":1421884800000,"screenshots":[{"url":"//images.igdb.com/igdb/image/upload/t_thumb/wmszzamngmfue3953he7.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/sf8u8xqf0d569pihrhxe.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/olufs65pklmiylkhko2s.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/lidn5pjatpkb8skabk8d.jpg"}],"videos":[{"video_id":"2mWw7onLGs0"}],"cover":{"url":"//images.igdb.com/igdb/image/upload/t_thumb/xwkyw8mxtatbcbzvnjnk.jpg"}},{"id":89846,"name":"The Witcher 3: Wild Hunt Prima Guide Edition"}]

这些是生成的 POJOS:

-----------------------------------com.example.Cover.java-----------------------------------

package com.example;

import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;

public class Cover {

@SerializedName("url")
@Expose
private String url;

public String getUrl() {
return url;
}

public void setUrl(String url) {
this.url = url;
}

}
-----------------------------------com.example.Result.java-----------------------------------

package com.example;

import java.util.List;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;

public class Result {

@SerializedName("id")
@Expose
private Integer id;
@SerializedName("name")
@Expose
private String name;
@SerializedName("first_release_date")
@Expose
private Integer firstReleaseDate;
@SerializedName("screenshots")
@Expose
private List<Screenshot> screenshots = null;
@SerializedName("videos")
@Expose
private List<Video> videos = null;
@SerializedName("cover")
@Expose
private Cover cover;

public Integer getId() {
return id;
}

public void setId(Integer id) {
this.id = id;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public Integer getFirstReleaseDate() {
return firstReleaseDate;
}

public void setFirstReleaseDate(Integer firstReleaseDate) {
this.firstReleaseDate = firstReleaseDate;
}

public List<Screenshot> getScreenshots() {
return screenshots;
}

public void setScreenshots(List<Screenshot> screenshots) {
this.screenshots = screenshots;
}

public List<Video> getVideos() {
return videos;
}

public void setVideos(List<Video> videos) {
this.videos = videos;
}

public Cover getCover() {
return cover;
}

public void setCover(Cover cover) {
this.cover = cover;
}

}
-----------------------------------com.example.Screenshot.java-----------------------------------

package com.example;

import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;

public class Screenshot {

@SerializedName("url")
@Expose
private String url;

public String getUrl() {
return url;
}

public void setUrl(String url) {
this.url = url;
}

}
-----------------------------------com.example.Video.java-----------------------------------

package com.example;

import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;

public class Video {

@SerializedName("video_id")
@Expose
private String videoId;

public String getVideoId() {
return videoId;
}

public void setVideoId(String videoId) {
this.videoId = videoId;
}

}

总是收到失败响应...知道可能是什么原因吗?

这是我改造的界面:

public interface IGDBApi {
@Headers({
"Accept: application/json",
"user-key: (removed for this post)"
})

@GET("games/?search=TheWitcher3&fields=id,name,first_release_date,cover.url,screenshots.url,videos.video_id")
Call<List<Result>> loadFollowers();


Retrofit retrofit = new Retrofit.Builder()
.baseUrl("https://api-2445582011268.apicast.io/")
.addConverterFactory(GsonConverterFactory.create())
.build();

}

这是我在主要 Activity 中进行改造的方法:

public void runretrofit(){

//Starts Retrofit
final IGDBApi gitHubApi = IGDBApi.retrofit.create(IGDBApi.class);
//Sets up up the API call
Call<List<Result>> call = gitHubApi.loadFollowers();
//Runs the call on a different thread

Log.v("URL Called", call.request().url() + "");

call.enqueue(new Callback<List<Result>>() {
@Override
public void onResponse(Call<List<Result>> call, Response<List<Result>> response) {
Log.v("RESULT", "JSON: "+new Gson().toJson(response.body()) );
}

@Override
public void onFailure(Call<List<Result>> call, Throwable t) {
Log.v("RESULT Fail", "Request failed");
}
});
}

最佳答案

首先:

制作

private Integer firstReleaseDate;

private Long firstReleaseDate;

第二

检查所有具有值的列表项。如果某些项具有浮点值,则会抛出错误。

关于android - 改造 Pojo 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49555304/

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