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");
Я не попробовал ваш код, потому что я не в вашей библиотеке JSon под рукой. Но, похоже, результаты представляют собой json-массив, элемент которого имеет свойство 'members'. Сам массив не обладает этим свойством. – weidi
Итак, как я могу получить доступ к нему? Заранее спасибо! –
Если я правильно нашел api библиотеки, которую вы используете, существует метод 'getJSONArray', который даст вам объект' JSONArray' вместо gereral 'JSONObject'. Затем вы можете использовать метод indexer 'get' для получения каждого элемента массива. в этом случае вам может понадобиться только нулевой элемент. – weidi