2017-05-17 1 views
0

Es ist möglich, ein JSON-Objekt ohne Schlüsselname abzurufen?JSON-Objekt ohne Schlüssel abrufen

Ein weiteres Problem ist, dass es tief in der Hierarchie ist. Bitte sehen Sie dies: http://jsonviewer.stack.hu/#http://gateway.marvel.com/v1/public/characters?apikey=2d0af97a020cd072d49059aa0bf13207&hash=ef7184ddbb03ed2f71da0efec112cf41&ts=1495035369

Das ist eine intensiv lange JSON und hat mehrere Objekte.

ich diesen Teil des JSON zuzugreifen versuchen: { "id": 1.010.699, "namen": "Aaron Stack", ..

ich den folgenden Code verwenden:

private void parseResult(String result) { 
     try { 
      JSONObject response = new JSONObject(result); 
      JSONArray posts = response.optJSONArray("data"); 

      for (int i = 0; i < posts.length(); i++) { 
       JSONObject post = posts.optJSONObject(i); 
       String title = post.optString("results"); 

      } 
     } catch (JSONException e) { 
      e.printStackTrace(); 
     } 
    } 

Aber ich kann nicht darauf zugreifen.

+0

Bitte erläutern, ** im Detail **, was „Ich kann‘ t Zugang es "bedeutet. – CommonsWare

+0

Ich möchte den Namen, die ID und die Beschreibung erhalten @CommonsWare –

+0

Ist dieses Objekt nicht erreichbar als 'posts.results [3]'? –

Antwort

0

können Sie Gson verwenden für diesen

compile 'com.google.code.gson:gson:2.7' 

und POJO-Klasse für das corroesponding json Ergebnis mit this Link erstellen, fügen Sie einfach Ihre JSON-Daten und Klassen erstellen.

Für zB Ihre Haupt pojo Klassennamen JsonResponseHolder sein Und in Ihrem Java-Code

try { 
     JsonResponseHolder jrh = new Gson().fromJson(responseString, 
              JsonResponseHolder.class); 
     List<Results> results = jrh.getData().getResults(); 
     /// this will give the result objects             
     /// and be sure to convert [] arrays to list for better data handling 
    } catch (JSONException e) { 
     e.printStackTrace(); 
    } 

Hope this helfen