2016-11-09 2 views
-1

Ich möchte das "Publikum" -Array analysieren.Parse geschachtelt Array in JSON Java

String data = { 
    "meta":{ 
    "requests":31454, 
    "timestamp":1456706180, 
    "status":200, 
    "message":"Request successful", 
    "method_id":1129, 
    "method":{ 

    } 
    }, 
    "data":[ 
    { 
     "id":3681, 
     "employer":"Google", 
     "date":"2016-01-05", 
     "day":"January", 
     "start_time":"17:00", 
     "end_time":"19:00", 
     "description":"Info session to discuss options at Google for majors outside of Computer Science.", 
     "website":"http:\/\/www.google.com\/careers\/students", 
     "building":{ 
     "code":"FED", 
     "name":"Federation Hall", 
     "room":"Main Hall", 
     "latitude":43.4732, 
     "longitude":-80.5485, 
     "map_url":"https:\/\/uwaterloo.ca\/map\/FED?basemap=D#map=17\/43.4732\/-80.5485" 
     }, 
     "audience":[ 
     "ENG - Computer", 
     "ENG - Electrical", 
     "ENG - Mechatronics", 
     "ENG - Software", 
     "ENG - System Design", 
     "MATH - Combinatorics & Optimization", 
     "MATH - Computer Science", 
     "MATH - Pure Mathematics" 
     ], 
     "link":"http:\/\/www.ceca.uwaterloo.ca\/students\/hiresessions_details.php?id=3681" 
    } 
     } 

Ich begann mit

JSONObject obj = new JSONObject(data); 
     JSONArray data2 = new JSONArray(obj); 

Aber ich bin nicht sicher, wie jetzt die "Publikum" Daten zu bekommen? Ich habe versucht, ein anderes Array von data2 zu erstellen, aber das gab einen Fehler, also bin ich mir nicht sicher, wie es weitergehen soll?

+0

Erklären Sie die downvote zu unterstützen. Das ist einfach dumm – DilllyBar

+0

Downvotes arent dumm. Einen Fehler wegzulassen, wäre vielleicht ein Fehler. Und so würde nicht lesen [Wie JSON in Android zu parsen] (http://stackoverflow.com/questions/9605913/how-to-parse-json-in-android) –

Antwort

0

Guter Start mit

JSONObject obj = new JSONObject(data); 

Dann ist das ein Objekt, das Sie brauchen, um aus, die "data" Array zu erhalten keine new Array machen von diesem Objekt.

JSONArray data = obj.getJsonArray("data"); 

Sobald Sie einen Array haben, können Sie durchlaufen, dass mit einem regulären for-Schleife, bis zu i < data.length().

Wie Sie das Array iterieren, haben Sie mehr JSON-Objekte, die Sie

JSONObject inner = data.getJSONObject(i); 

Und diejenigen, haben das Publikum Array erhalten müssen.

JSONArray audience = inner.getJSONArray("audience"); 

zu use this site und Gson oder Jackson Bibliotheken kostenlos Spüren Sie Ihre Parsing Bemühungen