2

My following json data:

  {
        "Alex": {
            "id": "54e23a2331ac67b1490d87b8",
            "desc": "bla bla",
            "no": 2
        },
        "Kodie": {
            "id": "54e23a2331ac67b1490d87b9",
            "desc": "bla bla",
            "no": 13
        },
        "Lache": {
            "id": "54e23a2331ac67b1490d87af",
            "desc": "bla bla",
            "no": 89
        }
 }

How should the following code in the android system?

JSONObject object = new JSONObject(data);

for (int i = 0; i < object.length(); i++) {
   //desc = object.getString("desc");
}

Sorry I could tell you so much for my english is very bad.

Thesalacium
  • 111
  • 1
  • 2
  • 7
  • possible duplicate of [java iterate over JSONObject?](http://stackoverflow.com/questions/9151619/java-iterate-over-jsonobject) – Selvin Mar 27 '15 at 09:32

2 Answers2

17
    try {
        JSONObject json = new JSONObject(data);
        Iterator<String> temp = json.keys();
        while (temp.hasNext()) {
            String key = temp.next();
            Object value = json.get(key);
        }
    } catch (JSONException e) {
        e.printStackTrace();
    }
oldfeel
  • 420
  • 3
  • 12
6

Thanks @oldfell;

JSONObject object = new JSONObject(json); 
Iterator keys = object.keys(); 
while(keys.hasNext()) { 
    String dynamicKey = (String)keys.next(); 
    JSONObject line = object.getJSONObject(dynamicKey); 
    String desc = line.getString("desc"); 
} 

I solved the problem in this way

Thesalacium
  • 111
  • 1
  • 2
  • 7