1

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?

4
  • By using a JSON-Parser? Commented Jun 6, 2018 at 9:47
  • oracle.com/technetwork/articles/java/json-1973242.html Commented Jun 6, 2018 at 9:49
  • 4
    Possible duplicate of How to parse JSON in Java Commented Jun 6, 2018 at 9:49
  • 1
    For information, the "following JSON text" is malformed JSON. It looks like it is a text file, made of three JSON objects, one on each line. JSON format doesn't allow to just write several JSON objects one after the other without a structuring syntax linking them. No parser can fix that for you. ... But if they're all on their on line, you could always read the file line-by-line, and use a JSON parser on each line. Commented Jun 6, 2018 at 10:07

2 Answers 2

2

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());
Sign up to request clarification or add additional context in comments.

Comments

0

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

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.