使用 Gson 将字符串解析为对象。布尔值始终为假

Bol*_*lic 4 android gson

我从我的服务器获取一个 Json-String:

{"erfolgreich":"true","id":"14"}
Run Code Online (Sandbox Code Playgroud)

当我打电话

//result is the string above
msgServer = gson.fromJson(result, MsgSpielerErstellenSA.class);
Run Code Online (Sandbox Code Playgroud)

布尔值始终为假...

我究竟做错了什么?

这是我的 MsgSpielerErstellenSA

public class MsgSpielerErstellenSA {

    private long id;
    private boolean isErfolgreich;

    public MsgSpielerErstellenSA(long id, boolean isErfolgreich) {
        super();
        this.id = id;
        this.isErfolgreich = isErfolgreich;
    }


    public boolean isErfolgreich() {
        return isErfolgreich;
    }

    public void setErfolgreich(boolean isErfolgreich) {
        this.isErfolgreich = isErfolgreich;
    }

    public long getId() {
        return id;
    }

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


}
Run Code Online (Sandbox Code Playgroud)

nik*_*kis 5

因为布尔字段的正确名称是erfolgreich, 不是isErfolgreich。请使用以下类:

public class MsgSpielerErstellenSA {

    private long id;
    private boolean erfolgreich;

    public MsgSpielerErstellenSA(long id, boolean isErfolgreich) {
        this.id = id;
        this.erfolgreich = isErfolgreich;
    }


    public boolean isErfolgreich() {
        return erfolgreich;
    }

    public void setErfolgreich(boolean isErfolgreich) {
        this.erfolgreich = isErfolgreich;
    }

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }
}
Run Code Online (Sandbox Code Playgroud)

但是如果你不想重命名这个字段,你可以@SerializedName("erfolgreich")在它上面使用注释