Чтение данных JSON из API - PullRequest
1 голос
/ 18 апреля 2019

Простите, если это слишком широкий вопрос, кричите на меня, если так.

Я получаю данные из остальных API в Java. Затем я хочу иметь возможность искать в данных JSON конкретную пару ключ-значение. Насколько я знаю, JSONObject из org.json - хороший способ сделать это. Пока у меня есть:

URL url = new URL("api string");
HttpURLConnection connnection = (HttpURLConnection)url.openConnection();

BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream()));

String input;
StringBuffer sb = new StringBuffer();

while ((input = br.readLine()) != null){
    sb.append(input);
}
br.close();

returnedJSON = new JSONObject(sb.toString());

Итак, достаточно стандартный код запроса на получение.

Во-первых, я не могу сказать, нужен ли мне JSONObject или JSONArray. Все, что я исследовал, использует JSONObjects для записи из API, но я буду получать JSON в следующей форме:

[{x: y, a: b, foo: bar}, {x: y, a: b, foo: bar}, ..., ...]

Так что есть несколько «записей» JSON, если это имеет смысл, и я хотел бы просмотреть всю строку JSON, чтобы увидеть, существуют ли два фрагмента данных в одной записи. Пример: Является ли значение 'foo' ожидаемым значением для записи, где значение 'x' равно 'y'?

Мне неясно, как действовать дальше, поскольку я впервые правильно использовал JSON.

1 Ответ

1 голос
/ 18 апреля 2019

Прежде всего, вы должны использовать JSONArray вместо JSONObject, потому что это массив объектов, который вы получаете от API Response ..

Теперь выполните итерацию этого array и захватите каждый из JSONObject, который фактически получен в виде HashMap (пара ключ-значение).

Теперь вы можете получить каждый элемент JSONObject, получив доступ к его ключам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...