3 回答
TA贡献1725条经验 获得超7个赞
仅适用于出现此错误的新人。当您的数据类(模型)与您正在使用的 json 不对应时,也会发生这种情况。
您可以通过将 onResponse() 方法从 Retrofit 设置为 Any (kotlin) 或对象 (java) 来验证这一点
@Override
public void onResponse(Call<Object> call, Response<Object> response) {
Log.d("zzz", "debug this line and check if response have ur object");
}
TA贡献1812条经验 获得超5个赞
乍一看,您的 json 似乎有误,在“video_category”之后还有一个“,”:“新闻/政治”,<--- 也许这就是问题所在
Btw i would do my pojo like this
我用这个网站自动创建它http://www.jsonschema2pojo.org/
你总是可以使用这个网站来验证你的 JSON https://jsonformatter.curiousconcept.com/
-----------------------------------ResponseVideoList.java-----------------------------------
package com.example;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class ResponseVideoList{
@SerializedName("resonse")
@Expose
private Resonse resonse;
public Resonse getResonse() {
return resonse;
}
public void setResonse(Resonse resonse) {
this.resonse = resonse;
}
}
-----------------------------------Resonse.java-----------------------------------
package com.example;
import java.util.List;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class Resonse {
@SerializedName("status")
@Expose
private Integer status;
@SerializedName("result")
@Expose
private List<Result> result = null;
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public List<Result> getResult() {
return result;
}
public void setResult(List<Result> result) {
this.result = result;
}
}
-----------------------------------Result.java-----------------------------------
package com.example;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class Result {
@SerializedName("video_id")
@Expose
private String videoId;
@SerializedName("video_title")
@Expose
private String videoTitle;
@SerializedName("video_description")
@Expose
private String videoDescription;
@SerializedName("video_poster")
@Expose
private String videoPoster;
@SerializedName("video_duration")
@Expose
private String videoDuration;
@SerializedName("video_category")
@Expose
private String videoCategory;
public String getVideoId() {
return videoId;
}
public void setVideoId(String videoId) {
this.videoId = videoId;
}
public String getVideoTitle() {
return videoTitle;
}
public void setVideoTitle(String videoTitle) {
this.videoTitle = videoTitle;
}
public String getVideoDescription() {
return videoDescription;
}
public void setVideoDescription(String videoDescription) {
this.videoDescription = videoDescription;
}
public String getVideoPoster() {
return videoPoster;
}
public void setVideoPoster(String videoPoster) {
this.videoPoster = videoPoster;
}
public String getVideoDuration() {
return videoDuration;
}
public void setVideoDuration(String videoDuration) {
this.videoDuration = videoDuration;
}
public String getVideoCategory() {
return videoCategory;
}
public void setVideoCategory(String videoCategory) {
this.videoCategory = videoCategory;
}
}
添加回答
举报