“JAVA” Нужно отправить get запрос и взять json

224
01 апреля 2018, 20:17

Нужно отправить GET запрос, не принципиально как и взять с сервера ответ в виде JSON. Или можно просто из stringbuffer сделать JSON. Но как?

У меня ответ такой:

{"response":{"count":1,"parameters":[{"1":1,"2":2,"3":3,"4":"test","bogy":"messsage"}]}}

Нужно только значение "4", то есть test

URL url = new URL(link);
BufferedReader in = new BufferedReader(
new InputStreamReader(url.openStream()));
String inputLine;
while ((inputLine = in.readLine()) != null)
System.out.println(inputLine);
in.close();
Answer 1

С помощью библиотеки Jackson:

ObjectMapper mapper = new ObjectMapper();
JsonNode rootNode = mapper.readTree(jsonString);
JsonNode responseNode = rootNode.path("response");
JsonNode parametersNode = responseNode.path("parameters");
Iterator<JsonNode> iterator = parametersNode.elements();
JsonNode fourNode = null;
if (iterator.hasNext()) {
    fourNode = iterator.next().path("4");
}
if (fourNode != null) {
    System.out.println(fourNode.textValue());
}
Answer 2

Ответ можно посылать http. Неважно как, но возвращаемый объект должен хранить в буфере текстовое значение json.

Вместе с текстом можно посылать заголовок в котором указать "content-type: application/json".

Если вы пользовались библиотекой gson, то для вас не составит труда используя api преобразовать значение объекта в строку, которую можно флашить в ответ. Не забудьте выключить кэш и куки из ответа для того чтобы было легче распарсивать json на клиенте.

READ ALSO
Как построить путь между маркером и локацией? [требует правки]

Как построить путь между маркером и локацией? [требует правки]

Есть программа которая строит путь между двумя маркерами, есть маркер привязанный к геопозиции вопрос как изменить программу чтобы путь...

240
NPE при поиске файла в ресурсах

NPE при поиске файла в ресурсах

Хочу воспроизвести wav из jar (но пока написать, код и чтобы он хотя бы воспроизвел в idea)

229
обновление Activity, когда пользователей находится в самой Activity, которая нуждается в обновление

обновление Activity, когда пользователей находится в самой Activity, которая нуждается в обновление

Добрый день, подскажите пожалуйста, у меня есть база в которую в фоновом режиме записываются входящие сообщения, из этой базы берутся данные...

259
Проблема с подключением сервлетов на Glassfish5

Проблема с подключением сервлетов на Glassfish5

Я новичок в Java, и вот недавно занялась изучением серверовНачала с Tomcat и с ним проблем не возникло, затем я перешла на Glassfish

212