へ()が適切なJSONをString形式で返しています。JSON以下のJSONを考えるGSONモデル
問題はshowDonationがfalseとして返されています。私は理由を理解できないようだ。 campaignEnabledが正しく返されました。showDonationが最初の要素ですか?
おかげで、 Otterman
へ()が適切なJSONをString形式で返しています。JSON以下のJSONを考えるGSONモデル
問題はshowDonationがfalseとして返されています。私は理由を理解できないようだ。 campaignEnabledが正しく返されました。showDonationが最初の要素ですか?
おかげで、 Otterman
はクラスでshow_Donation
にshowDonation
を変更してみてください。
Java構造が正しくありません。
それはこのようにする必要があります:
public class GlobalConfig {
@SerializedName("rmhc_config")
private RMHCConfigModel rmhc;
public static GlobalConfig fromJson(String json) {
return new Gson().fromJson(json, GlobalConfig.class);
}
public String toJson() {
return new Gson().toJson(this);
}
}
public class RMHCConfigModel {
@SerializedName("show_donation")
private boolean showDonation;
@SerializedName("campaignEnabled")
private boolean campaignEnabled;
}
あなたのJavaの構造や、あなたの注釈のいずれかが正しくない、またはあなたのJSONは、不必要なサブオブジェクトが含まれています。
以下を試してください。モデルの構造を変更せずに動作します。
String configValue = "{\"show_donation\": true,\"campaignEnabled\": true}";
RMHCConfigModel config = new Gson().fromJson(configValue.toString(), RMHCConfigModel.class);
おかげさまで感謝しました! @SerializedNameを指定しても世話をしない理由は何ですか? – Otterman
私は100%確信していませんが、私が推測しているのは、 'Gson'の代わりに' JSONObject'を使用するとうまくいくと思います。今、 'showDonation'がbooleanのデフォルトのJava値を取得しているようです。これはfalseです。 –