Android改型在获取jsonobject时总是返回布尔类型的假值
我是新使用改型的,这里我遇到了一个问题,改型总是为布尔类型的对象返回false,实际上是1(true),我正在检索 下面是我检索数据的pojo类Android改型在获取jsonobject时总是返回布尔类型的假值,android,json,boolean,retrofit,jsonobject,Android,Json,Boolean,Retrofit,Jsonobject,我是新使用改型的,这里我遇到了一个问题,改型总是为布尔类型的对象返回false,实际上是1(true),我正在检索 下面是我检索数据的pojo类 public class JobsModel implements Serializable { @SerializedName("posted_on") private String postedOn; @SerializedName("is_active") private boolean isActive=false; public Jobs
public class JobsModel implements Serializable {
@SerializedName("posted_on")
private String postedOn;
@SerializedName("is_active")
private boolean isActive=false;
public JobsModel(String postedOn, boolean isActive) {
this.postedOn=postedOn;
this.isActive=isActive;
}
public Boolean getPostedOn() {
return postedOn
}
public void setPostedOn(String postedOn) {
postedOn= postedOn
}
public Boolean getActive() {
return isActive;
}
public void setActive(Boolean active) {
isActive = active;
}
}
任何帮助都将不胜感激您已将此初始化为false。这样做
private boolean isActive;
首先,您必须确保
@SerializedName(“is_active”)
正确且与您的json名称匹配
此外,您不需要像以下那样初始化值:
private boolean isActive=false;
我修改了你的接球手和接球手。你能试试这个吗:
public boolean getActive() {
return isActive;
}
public void setActive(boolean active) {
isActive = active;
}
如果您使用的是改型2.0,那么解析boolean
时会出现一种奇怪的行为(我认为这是一个bug)
当我们试图解析名称以
“I”
开头的boolean
json对象时,它总是返回false。这与你无关,但可能有这样的问题。如果可以,您可以尝试为对象使用不同的json名称。在Java中,布尔是基本类型,其默认值为false
如果您的json处于活动状态值没有任何值,则默认情况下处于活动状态为false!
为避免此问题,请使用布尔型而不是布尔型 首先更改私有
布尔isActive=false代码>到私有布尔激活代码>
二变
public void setActive(Boolean active) {
isActive = active; }
到
如果您的JSON包含任何以I开头的对象,那么请更改它,因为它将始终返回false。
希望这对你有帮助 最有可能的是,您的@SerializedName(“is_active”)是错误的。请检查这一行。那么,我们可以为booleani重构代码的值做些什么呢。试着替换我在回答中给出的代码。
public void setActive(boolean active) {
Active = active;
}