2017-01-26 2 views
0

Gsonでクラスを変換しようとしたときに型アダプターに関するエラーが発生しました。助けてください。これは私のクラスAccountBalance内部にAuthクラスを持っています。タイプアダプターの登録を忘れましたか?

import java.io.Serializable; 

import com.google.gson.Gson; 
import com.google.gson.annotations.Expose; 
import com.google.gson.annotations.SerializedName; 

    public class AccountBalance implements Serializable 
    { 

     @SerializedName("authorization_credentials") 
     @Expose 
     private Authorization_credentials authorization_credentials; 
     @SerializedName("corporate_no") 
     @Expose 
     private String corporate_no; 
     @SerializedName("msisdn") 
     @Expose 
     private String msisdn; 
     @SerializedName("account_number") 
     @Expose 
     private String account_number; 
     private final static long serialVersionUID = 7694553150839905572L; 

     public Authorization_credentials getAuthorization_credentials() { 
      return authorization_credentials; 
     } 

     public void setAuthorization_credentials(Authorization_credentials authorization_credentials) { 
      this.authorization_credentials = authorization_credentials; 
     } 

     public AccountBalance withAuthorization_credentials(Authorization_credentials authorization_credentials) { 
      this.authorization_credentials = authorization_credentials; 
      return this; 
     } 

     public String getCorporate_no() { 
      return corporate_no; 
     } 

     public void setCorporate_no(String corporate_no) { 
      this.corporate_no = corporate_no; 
     } 

     public AccountBalance withCorporate_no(String corporate_no) { 
      this.corporate_no = corporate_no; 
      return this; 
     } 

     public String getMsisdn() { 
      return msisdn; 
     } 

     public void setMsisdn(String msisdn) { 
      this.msisdn = msisdn; 
     } 

     public AccountBalance withMsisdn(String msisdn) { 
      this.msisdn = msisdn; 
      return this; 
     } 

     public String getAccount_number() { 
      return account_number; 
     } 

     public void setAccount_number(String account_number) { 
      this.account_number = account_number; 
     } 

     public AccountBalance withAccount_number(String account_number) { 
      this.account_number = account_number; 
      return this; 
     } 

     @Override 
     public String toString() { 
      Gson gson = new Gson(); 
      String json = gson.toJson(Authorization_credentials.class); 
      return json; 
     } 
    } 

これは包み必要私の他のクラス..ですおかげ

import java.io.Serializable; 

import com.google.gson.Gson; 
import com.google.gson.annotations.Expose; 
import com.google.gson.annotations.SerializedName; 


public class Authorization_credentials implements Serializable 
{ 

    @SerializedName("api_key") 
    @Expose 
    private String api_key; 
    @SerializedName("token") 
    @Expose 
    private String token; 
    private final static long serialVersionUID = 8239940692560349228L; 

    public String getApi_key() { 
     return api_key; 
    } 

    public void setApi_key(String api_key) { 
     this.api_key = api_key; 
    } 

    public Authorization_credentials withApi_key(String api_key) { 
     this.api_key = api_key; 
     return this; 
    } 

    public String getToken() { 
     return token; 
    } 

    public void setToken(String token) { 
     this.token = token; 
    } 

    public Authorization_credentials withToken(String token) { 
     this.token = token; 
     return this; 
    } 

    @Override 
    public String toString() { 
     Gson gson = new Gson(); 
     String json = gson.toJson(Authorization_credentials.class); 
     return json; 
    } 
} 

答えて

0
String json = gson.toJson(Authorization_credentials.class); 

正しくありません。変換したいオブジェクトを渡す必要があります。あなたは第二として、最初のパラメータとオブジェクト型として変換するオブジェクトを渡すために覚えてどこか他のGsonを使用しようとすると、この

String json = gson.toJson(this, Authorization_credentials.class); 

に変更します。

関連する問題