0

I Know how to parse the Json using JsonObject and JsonArray,Now i'm Learing Gson in android to parse Json

{Result:[
    {
    LanguageID: "1",
    LanguageName: "English",

    },
    {
    LanguageID: "2",
    LanguageName: "Tamil"
    },
    {
    LanguageID: "3",
    LanguageName: "Malayalam"
    },
    {
    LanguageID: "4",
    LanguageName: "Hindi"
    },
    {
    LanguageID: "5",
    LanguageName: "Telugu"
    }
    ]}

This is my Model Class

public class GetLanguagesResult {

                    private String LanguageID;
                    private String LanguageName;



     GetLanguagesResult(String LanguageID,String LanguageName){

                        this.LanguageID=LanguageID;
                        this.LanguageName=LanguageName;

                    }

            public String getLanguageID(){

                        return LanguageID;

                    }

                    public String getLanguageName(){

                        return LanguageName;
                         }

                    }

Can someone tell me how to get the LanguageID and LanguageName in ArrayList using model classs.

user12378334
  • 117
  • 1
  • 14

2 Answers2

1

Try following class code.

public class Response {

    ArrayList<Result> Result;

    public class Result {
        String LanguageID;
        String LanguageName;

        public String getLanguageID() {
            return LanguageID;
        }

        public void setLanguageID(String languageID) {
            LanguageID = languageID;
        }

        public String getLanguageName() {
            return LanguageName;
        }

        public void setLanguageName(String languageName) {
            LanguageName = languageName;
        }
    }
}

Use

ArrayList<Result> results = gson.fromJson(jsonResponse, Response.Class);
Chintan Rathod
  • 25,864
  • 13
  • 83
  • 93
  • can you tell me where we call the setLanguageName to set the LanguageName. – user12378334 Jan 30 '14 at 08:13
  • I just put that code with "Auto Generate Getter/Setter". Generally GSON will not use that method. It will automatically serialize code based on the object we have created. That method is for us to modify data which are parsed. :) – Chintan Rathod Jan 30 '14 at 08:16
  • Thanks Do you know any reference link to learn more about gson – user12378334 Jan 30 '14 at 08:21
  • please check my answer http://stackoverflow.com/questions/18529664/json-parsing-with-gson-with-data-and-arrays/18530345#18530345 – Chintan Rathod Jan 30 '14 at 08:25
1

you must create another class that contains only one property called Result type of List with getter ans setter.

public class Results {
    private List<GetLanguagesResult> Result;

    public Result getResult(){
        return Result;
    }

    public void setResult(List<GetLanguagesResult> Result){
        this.Result = Result;
    }

}

Then you can deserialize it in this way:

Results results = g1.fromJson(myDownloadedJson, Results.Class);
phemt.latd
  • 1,775
  • 21
  • 33
  • No problem, if you find it the best you can choose it as best answer. If another answer is the best when you have a good level of reutation(15 points) you can upvote my answer too ;) – phemt.latd Jan 30 '14 at 08:26
  • No problem you have already choosen the best, the answer of Chintan is more compact than mine – phemt.latd Jan 30 '14 at 08:29