2015-05-23 23 views
5

Ich brauche einen Schlüsselnamen von JsonArray, so JSON sieht so aus, bitte nicht, dass JSON mit Array-Klammern beginnt, und darin hat es Objekte, die gemacht wurde, denke ich, weil Back-End wird haben die Fähigkeit, Objekte hinzuzufügen.Get jsonarray Schlüsselname

[ 
    { 
    "tehnology": [ ] 
    }, 
    { 
    "science": [] 
    } 
] 

Also muss ich von ihm die Namen bekommen „Technologie“ und „Wissenschaft“, weil json dynamisch ändern kann, wie kann ich es umsetzen?

+0

setzen Sie bitte die richtige JSON-String Ihre JSON-String ist nicht richtig die ersten Klammern kippe eckigen Klammern. Überprüfen Sie online JSon Parsing-Websites – Pankaj

+0

@Clairvoyant Erste Klammern könnte Array-Klammern, jsonlint.com sagt mein JSON ist gültig. –

+0

Ich denke, Sie sollten [diese] (http://stackoverflow.com/questions/20321212/get-json-array-keys-in-android) überprüfen – Kunu

Antwort

6

Die JSONArray enthält JSONObject s. Rufen Sie jeden JSONObject und verwenden keys() den Schlüssel in jedem JSONObject definiert den Zugriff auf

JSONArray jArray = new JSONArray(response);  
for (int i = 0; i < jArray.length(); i++) { 
     JSONObject object = jArray.optJSONObject(i); 
     Iterator<String> iterator = object.keys(); 
     while(iterator.hasNext()) { 
     String currentKey = iterator.next(); 
     } 
} 
+0

Niiiiiice! Du hast meinen Tag gerettet, thx Kumpel: D –

+0

Sie sind willkommen – Blackbelt

+0

wie es mit GSON zu tun? –