skip to Main Content

I am trying to deserialize a Json String using GSONbut after deserialization all values appear as Null. This is the Json String (I obtain this String from a server through a Rest API):

{"getInformationResult":{

"BE_Active":false,"BE_Owner_ID":0,"BT_ID":0,"CLC_Sale":0,"CLC_Shared_Balance":false,"Cash":false,"Client_Active":false,"Client_Alias":null,"Client_ID":0,"Clients_Balance_By_Brand":null,"Contact_Active":false,"Contact_ID":0,"Credit":false,"Currency_ID":0,"Error_Codes":null,"Errors" :[{"Error_Code":"101","Error_Description":"Login: Invalid User or Password","Error_ID":27,"Error_Name":"Invalid User Or Password"}],"Father_ID":0,"Labels":null,"Language_ID":0,"Parent_ID":0,"Schedule_Time_End":null,"Schedule_Time_Start":null,Server_Date_Time":null,"Server_TZ_ISO_Notation":null,"TT_ID":0,"TZ_ISO_Notation":null,"Template_ID":0,"User_Active":false,"User_Email":null,"User_Name":null}}

And this is what I am Using to deserialize:

Gson gson = new Gson();
getInformationResult getInformationResult = new getInformationResult();
getInformationResult respuesta = gson.fromJson(response, getInformationResult.class);

public class getInformationResult {

@SerializedName("Errors")
public Errors Errors;
@SerializedName("User_Name")
public String User_Name;
@SerializedName("BE_Active")
public String BE_Active;
@SerializedName("BE_Owner_ID")
public String BE_Owner_ID;
@SerializedName("BT_ID")
public String BT_ID;
@SerializedName("CLC_Sale")
public String CLC_Sale;
@SerializedName("CLC_Shared_Balance")
public String CLC_Shared_Balance;
@SerializedName("Cash")
public String Cash;
@SerializedName("Client_Active")
public String Client_Active;
@SerializedName("Client_Alias")
public String Client_Alias;
@SerializedName("Client_ID")
public String Client_ID;
@SerializedName("Clients_Balance_By_Brand")
public String Clients_Balance_By_Brand;
@SerializedName("Contact_Active")
public String Contact_Active;
@SerializedName("Contact_ID")
public String Contact_ID;
@SerializedName("Credit")
public String Credit;
@SerializedName("Currency")
public String Currency;
@SerializedName("Error_Codes")
public String Error_Codes;
@SerializedName("Father_ID")
public String Father_ID;
@SerializedName("Labels")
public String Labels;
@SerializedName("Language_ID")
public String Language_ID;
@SerializedName("Parent_ID")
public String Parent_ID;
@SerializedName("Schedule_Time_End")
public String Schedule_Time_End;
@SerializedName("Schedule_Time_Start")
public String Schedule_Time_Start;
@SerializedName("Server_Date_Time")
public String Server_Date_Time;
@SerializedName("Server_TZ_ISO_Notation")
public String Server_TZ_ISO_Notation;
@SerializedName("TZ_ISO_Notation")
public String TZ_ISO_Notation;
@SerializedName("TT_ID")
public String TT_ID;
@SerializedName("Template_ID")
public String Template_ID;
@SerializedName("User_Active")
public String User_Active;
@SerializedName("User_Email")
public String User_Email;

 public getInformationResult(Errors Errors, String User_Name,String BE_Active,String BE_Owner_ID, String BT_ID,String CLC_Sale,String CLC_Shared_Balance, String Cash,
                            String Client_Active, String Client_Alias,String Client_ID,String Clients_Balance_By_Brand, String Server_TZ_ISO_Notation,String Contact_Active,
                            String Contact_ID, String Credit, String Currency,String Error_Codes,String Father_ID,String Labels,String Language_ID,String Parent_ID,
                            String Schedule_Time_End,String Schedule_Time_Start,String Server_Date_Time, String TZ_ISO_Notation,String TT_ID, String Template_ID, String User_Active, String User_Email ) {
    this.Errors = Errors;
    this.User_Name = User_Name;
    this.BE_Active = BE_Active;
    this.BE_Owner_ID = BE_Owner_ID;
    this.BT_ID=BT_ID;
    this.CLC_Sale = CLC_Sale;
    this.CLC_Shared_Balance=CLC_Shared_Balance;
    this.Cash=Cash;
    this.Client_Active=Client_Active;
    this.Client_Alias = Client_Alias;
    this.Client_ID = Client_ID;
    this.Clients_Balance_By_Brand = Clients_Balance_By_Brand;
    this.Server_TZ_ISO_Notation = Server_TZ_ISO_Notation;
    this.Contact_Active=Contact_Active;
    this.Contact_ID=Contact_ID;
    this.Credit=Credit;
    this.Currency=Currency;
    this.Error_Codes=Error_Codes;
    this.Father_ID=Father_ID;
    this.Labels=Labels;
    this.Language_ID=Language_ID;
    this.Parent_ID=Parent_ID;
    this.Schedule_Time_End=Schedule_Time_End;
    this.Schedule_Time_Start=Schedule_Time_Start;
    this.TZ_ISO_Notation=TZ_ISO_Notation;
    this.TT_ID=TT_ID;
    this.Server_Date_Time=Server_Date_Time;
    this.Template_ID=Template_ID;
    this.User_Active=User_Active;
    this.User_Email=User_Email;
}


@NonNull
@Override
public String toString() {
    return new Gson().toJson(this);
}

}

2

Answers


  1. Chosen as BEST ANSWER

    In case anybody needs the answer, I solved my issue doing the code like this instead:

    public class getInformationResult {

    public List<Errors> errorsList;
    public String User_Name;
    public String BE_Active;
    public String BE_Owner_ID;
    public String BT_ID;
    public String CLC_Sale;
    public String CLC_Shared_Balance;
    public String Cash;
    public String Client_Active;
    public String Client_Alias;
    public String Client_ID;
    public String Clients_Balance_By_Brand;
    public String Contact_Active;
    public String Contact_ID;
    public String Credit;
    public String Currency;
    public String Error_Codes;
    public String Father_ID;
    public String Labels;
    public String Language_ID;
    public String Parent_ID;
    public String Schedule_Time_End;
    public String Schedule_Time_Start;
    public String Server_Date_Time;
    public String Server_TZ_ISO_Notation;
    public String TZ_ISO_Notation;
    public String TT_ID;
    public String Template_ID;
    public String User_Active;
    public String User_Email;
    
    public List<Errors> getErrorsList() {
        return errorsList;
    }
    
    public void setErrorsList(List<Errors> errorsList) {
        this.errorsList = errorsList;
    }
    
    public String getUser_Name() {
        return User_Name;
    }
    
    public void setUser_Name(String user_Name) {
        User_Name = user_Name;
    }
    
    public String getBE_Active() {
        return BE_Active;
    }
    
    public void setBE_Active(String BE_Active) {
        this.BE_Active = BE_Active;
    }
    
    public String getBE_Owner_ID() {
        return BE_Owner_ID;
    }
    
    public void setBE_Owner_ID(String BE_Owner_ID) {
        this.BE_Owner_ID = BE_Owner_ID;
    }
    
    public String getBT_ID() {
        return BT_ID;
    }
    
    public void setBT_ID(String BT_ID) {
        this.BT_ID = BT_ID;
    }
    
    public String getCLC_Sale() {
        return CLC_Sale;
    }
    
    public void setCLC_Sale(String CLC_Sale) {
        this.CLC_Sale = CLC_Sale;
    }
    
    public String getCLC_Shared_Balance() {
        return CLC_Shared_Balance;
    }
    
    public void setCLC_Shared_Balance(String CLC_Shared_Balance) {
        this.CLC_Shared_Balance = CLC_Shared_Balance;
    }
    
    public String getCash() {
        return Cash;
    }
    
    public void setCash(String cash) {
        Cash = cash;
    }
    
    public String getClient_Active() {
        return Client_Active;
    }
    
    public void setClient_Active(String client_Active) {
        Client_Active = client_Active;
    }
    
    public String getClient_Alias() {
        return Client_Alias;
    }
    
    public void setClient_Alias(String client_Alias) {
        Client_Alias = client_Alias;
    }
    
    public String getClient_ID() {
        return Client_ID;
    }
    
    public void setClient_ID(String client_ID) {
        Client_ID = client_ID;
    }
    
    public String getClients_Balance_By_Brand() {
        return Clients_Balance_By_Brand;
    }
    
    public void setClients_Balance_By_Brand(String clients_Balance_By_Brand) {
        Clients_Balance_By_Brand = clients_Balance_By_Brand;
    }
    
    public String getContact_Active() {
        return Contact_Active;
    }
    
    public void setContact_Active(String contact_Active) {
        Contact_Active = contact_Active;
    }
    
    public String getContact_ID() {
        return Contact_ID;
    }
    
    public void setContact_ID(String contact_ID) {
        Contact_ID = contact_ID;
    }
    
    public String getCredit() {
        return Credit;
    }
    
    public void setCredit(String credit) {
        Credit = credit;
    }
    
    public String getCurrency() {
        return Currency;
    }
    
    public void setCurrency(String currency) {
        Currency = currency;
    }
    
    public String getError_Codes() {
        return Error_Codes;
    }
    
    public void setError_Codes(String error_Codes) {
        Error_Codes = error_Codes;
    }
    
    public String getFather_ID() {
        return Father_ID;
    }
    
    public void setFather_ID(String father_ID) {
        Father_ID = father_ID;
    }
    
    public String getLabels() {
        return Labels;
    }
    
    public void setLabels(String labels) {
        Labels = labels;
    }
    
    public String getLanguage_ID() {
        return Language_ID;
    }
    
    public void setLanguage_ID(String language_ID) {
        Language_ID = language_ID;
    }
    
    public String getParent_ID() {
        return Parent_ID;
    }
    
    public void setParent_ID(String parent_ID) {
        Parent_ID = parent_ID;
    }
    
    public String getSchedule_Time_End() {
        return Schedule_Time_End;
    }
    
    public void setSchedule_Time_End(String schedule_Time_End) {
        Schedule_Time_End = schedule_Time_End;
    }
    
    public String getSchedule_Time_Start() {
        return Schedule_Time_Start;
    }
    
    public void setSchedule_Time_Start(String schedule_Time_Start) {
        Schedule_Time_Start = schedule_Time_Start;
    }
    
    public String getServer_Date_Time() {
        return Server_Date_Time;
    }
    
    public void setServer_Date_Time(String server_Date_Time) {
        Server_Date_Time = server_Date_Time;
    }
    
    public String getServer_TZ_ISO_Notation() {
        return Server_TZ_ISO_Notation;
    }
    
    public void setServer_TZ_ISO_Notation(String server_TZ_ISO_Notation) {
        Server_TZ_ISO_Notation = server_TZ_ISO_Notation;
    }
    
    public String getTZ_ISO_Notation() {
        return TZ_ISO_Notation;
    }
    
    public void setTZ_ISO_Notation(String TZ_ISO_Notation) {
        this.TZ_ISO_Notation = TZ_ISO_Notation;
    }
    
    public String getTT_ID() {
        return TT_ID;
    }
    
    public void setTT_ID(String TT_ID) {
        this.TT_ID = TT_ID;
    }
    
    public String getTemplate_ID() {
        return Template_ID;
    }
    
    public void setTemplate_ID(String template_ID) {
        Template_ID = template_ID;
    }
    
    public String getUser_Active() {
        return User_Active;
    }
    
    public void setUser_Active(String user_Active) {
        User_Active = user_Active;
    }
    
    public String getUser_Email() {
        return User_Email;
    }
    
    public void setUser_Email(String user_Email) {
        User_Email = user_Email;
    }
    
    
    @NonNull
    @Override
    public String toString() {
        return new Gson().toJson(this);
    }
    

    }


    public class Errors {

    public List<Error_Description>errorDescriptions;
    
    
    public String Error_ID;
    public String Error_Name;
    public static String Error_Code;
    
    public static String getError_Code() {
        return Error_Code;
    }
    
    public void setError_Code(String error_Code) {
        Error_Code = error_Code;
    }
    
    
    public String getError_ID() {
        return Error_ID;
    }
    
    public void setError_ID(String error_ID) {
        Error_ID = error_ID;
    }
    
    public String getError_Name() {
        return Error_Name;
    }
    
    public void setError_Name(String error_Name) {
        Error_Name = error_Name;
    }
    
    
    
    @NonNull
    @Override
    public String toString() {
        return new Gson().toJson(this);
    }
    

    }


    public class Error_Description {

    public String getLogin() {
        return Login;
    }
    
    public void setLogin(String login) {
        Login = login;
    }
    
    public String Login;
    
        @NonNull
        @Override
        public String toString() {
            return new Gson().toJson(this);
        }
    }
    

  2. You shouldn’t need the SerializedName annotations.
    These are for when the keys are not valid Java variable names, e.g. "abc-123", or "123abc".

    Here is an example.

    class Example {
        String key1;
        int key2;
    }
    
    String s = "{ "key1": "abc", "key2": 1 }";
    Gson g = new Gson();
    Example e = g.fromJson(s, Example.class);
    
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search