Linda
Linda

Reputation: 49

How to parse JSON with any key on android?

I want to parse JSON with any key on Android. JSON data consists of any key, array or values. Here are JSON data and my working code. I want to put JSON data into a class by using JSON parsing.

JSON data :

{
   "d520c8c17c8e":
        {   "id":"25689123",
            "number":"0e31b1994"
        },
   "d183c6e9913d":
        {
           "id":"25689123",
           "number":"0e31b1994"
         },
   "content":"8090986565488990",
   "text":"hello",
   "status":"ok"
}

My code :

public static MyInfo getMyInfo(JSONObject json) {
    MyInfo info = new MyInfo();
    if (json == null)
        return null;
    try {

        info.setContent(json.getString("content"));
        info.setText(json.getString("text"));
        info.setStatus(json.getString("status"));

        ArrayList<MyList> mylists = new ArrayList<MyList>();

        JSONArray  panels = json.getJSONArray(????????????);
        for(int i=0;i < panels.length();i++){                          
            JSONObject e2 = panels.getJSONObject(i);
            MyList info_list = new MyList();

            info_list.setId(e2.getString("id"));
            info_list.setNumber(e2.getString("number"));

            info_list.add(info_answer);
        }

        info.setList(info_list);

    } catch (JSONException e) {

    } 
    return info;
}

please help me.

Upvotes: 1

Views: 3726

Answers (1)

Dion Segijn
Dion Segijn

Reputation: 2655

Yes this is possible.

Put the JSON you receive in a JSONObject. You can loop trough the keys and get the values out of it.

Example:

//Create json object from string
JSONObject newJson = new JSONObject(json);

// Get keys from json
Iterator<String> panelKeys = newJson.keys();

while(panelKeys.hasNext()) {
     JSONObject panel = newJson.getJSONObject(panelKeys.next()); // get key from list
     String id  = panel.getString("id");
     String number  = panel.getString("number");
}

I hope this is what you were looking for

Upvotes: 4

Related Questions