2016-11-09 146 views
-1

我想解析'观众'数组。在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" 
    } 
     } 

我开始与

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

但是我不确定现在该怎么获得 “观众” 的数据?我试图从data2创建另一个数组,但是这给了一个错误,所以我真的不知道如何继续?

+0

解释downvote。那只是愚蠢的 – DilllyBar

+0

Downvotes不是愚蠢的。离开也许你会得到一个错误。所以不会阅读[如何在Android中解析JSON](http://stackoverflow.com/questions/9605913/how-to-parse-json-in-android) –

回答

0

良好的开端

JSONObject obj = new JSONObject(data); 

那么,这就是你需要得到"data"阵列出来的,而不是让从物体new数组的对象。

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

一旦你有一个数组,你可以遍历与for循环有规律的,最多i < data.length()

当你遍历数组,你有你需要得到

JSONObject inner = data.getJSONObject(i); 

而那些有观众阵列更JSON对象。

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

随意use this site和GSON或杰克逊库,以帮助您解析努力