2016-07-14 11 views
0

へ()が適切なJSONをString形式で返しています。JSON以下のJSONを考えるGSONモデル

問題はshowDonationfalseとして返されています。私は理由を理解できないようだ。 campaignEnabledが正しく返されました。showDonationが最初の要素ですか?

おかげで、 Otterman

答えて

0

はクラスでshow_DonationshowDonationを変更してみてください。

+0

おかげさまで感謝しました! @SerializedNameを指定しても世話をしない理由は何ですか? – Otterman

+0

私は100%確信していませんが、私が推測しているのは、 'Gson'の代わりに' JSONObject'を使用するとうまくいくと思います。今、 'showDonation'がbooleanのデフォルトのJava値を取得しているようです。これはfalseです。 –

0

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; 

} 
0

あなたのJavaの構造や、あなたの注釈のいずれかが正しくない、またはあなたのJSONは、不必要なサブオブジェクトが含まれています。

以下を試してください。モデルの構造を変更せずに動作します。

 String configValue = "{\"show_donation\": true,\"campaignEnabled\": true}"; 
    RMHCConfigModel config = new Gson().fromJson(configValue.toString(), RMHCConfigModel.class); 
関連する問題