eyal1506
eyal1506

Reputation: 113

Parse JSON in java (Eclipse)

I have the following JSON text (REST API URL SOURCE). How can I parse it to get ID, name, phone,city etc:

{"ID":1,"name":"aaa","phone":["345345345","1244","743"],"city":"asdasd"}
{"ID":2,"name":"bbb","phone":["234234","235","124"]}
{"ID":3,"name":"ccc","phone":["4234","6236","123"],"city":"jhjk"}

thanks.

EDIT:

I Run this code:

                      String var1 = output;
                       JSONObject obj;
                       try {
                              obj = new JSONObject(var1);
                              String a = obj.getString("name");
                              String b = obj.getString("phone");
                              String c = obj.getString("city");

                              System.out.println("name:" + a);
                              System.out.println("phone:" + b);
                              System.out.println("city:" + c);

and I got "phone" as a string . someone can add the code to parse the phone line?

Upvotes: 1

Views: 5258

Answers (2)

Anuran Barman
Anuran Barman

Reputation: 1676

You can use Gson to parse the JSON. Simply create a class for this and Gson will do the parsing for you.

class MyClass{
    @SerializedName("ID")
    String ID;
    @SerializedName("name")
    String name;
    @SerializedName("phone")
    List<String> phone;
    @SerializedName("city")
    String city;

    public MyClass(String ID, String name, List<String> phone, String city) {
        this.ID = ID;
        this.name = name;
        this.phone = phone;
        this.city = city;
    }

    public String getID() {
        return ID;
    }

    public void setID(String ID) {
        this.ID = ID;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public List<String> getPhone() {
        return phone;
    }

    public void setPhone(List<String> phone) {
        this.phone = phone;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }
}

then in your main class or activity:

MyClass myclass= new Gson().fromJSON(jsonString,MyClass.class);
System.out.println(myclass.getID());

Upvotes: 2

chungonion
chungonion

Reputation: 124

Make use of org.json libarary. Afterwards, create an instance of JSONObject and JSONArray to parse the JSON String

Upvotes: 0

Related Questions