Gson 布尔值转换始终为 false

Gson boolean conversion always false

我正在使用 Gson 作为转换器来通过 Retrofit 解析我的响应,但即使有肯定的响应,我也总是得到 false。

是这样的

回复:

{"groups":{"success":true}}

GroupsResponseClass

public class GroupsResponse {

    @SerializedName("success")
    private boolean mSuccess;

    GroupsResponse() {}

    public boolean isSuccess() {
        return mSuccess;
    }

    public void setSuccess(boolean success) {
        mSuccess = success;
    }
}

我停止使用 GsonConverter,但仍然得到一个成功值为假的对象

您的群组对象在技术上嵌套在另一个对象中,可能需要展平您的 json。如果不能,这应该可行:

GroupsResponse.java

public class GroupsResponse {

    @SerializedName("groups")
    private Groups mGroups;

    GroupsResponse() {}

    public boolean isSuccess() {
        return mGroups.isSuccess();
    }

    public void setSuccess(boolean success) {
        mGroups.setSuccess(success);
    }
}

Groups.java

public class Groups {

    @SerializedName("success")
    private boolean mSuccess;

    Groups() {}

    public boolean isSuccess() {
        return mSuccess;
    }

    public void setSuccess(boolean success) {
        mSuccess = success;
    }
}