2012-04-20 3 views
0

Я использую JSONObject для разбора вложенного JSON из примера API:JAVA JSONObject разбор вопроса

{"results":[{"congress":"112","state":"NJ","num_results":"2","offset":"0","members": [{"id":"L000123","first_name":"Frank".......................... 

У меня возникли проблемы с доступом к членам вложенной области с помощью JSONObject.
Это мой код, любые мысли?

url= new URL("http://api.nytimes.com/svc/politics/v3/us/legislative/congress/112/senate/members.json?&state=NJ&api-key=7967107ef3c9e8d6c2f560027f87904e:17:65990356");     


      ByteArrayOutputStream urlOutputStream = new ByteArrayOutputStream(); 
      IOUtils.copy(url.openStream(), urlOutputStream); 
      String urlContents = urlOutputStream.toString(); 

      // parse the JSON object returned 
      JSONObject jsonO = new JSONObject(urlContents); 
      System.out.println(jsonO.toString()); 
      JSONObject results = jsonO.getJSONObject("results"); 
      JSONObject senators = results.getJSONObject("members"); 
+0

Я не попробовал ваш код, потому что я не в вашей библиотеке JSon под рукой. Но, похоже, результаты представляют собой json-массив, элемент которого имеет свойство 'members'. Сам массив не обладает этим свойством. – weidi

+0

Итак, как я могу получить доступ к нему? Заранее спасибо! –

+0

Если я правильно нашел api библиотеки, которую вы используете, существует метод 'getJSONArray', который даст вам объект' JSONArray' вместо gereral 'JSONObject'. Затем вы можете использовать метод indexer 'get' для получения каждого элемента массива. в этом случае вам может понадобиться только нулевой элемент. – weidi

ответ

Смежные вопросы