Нужно отправить 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();
С помощью библиотеки 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());
}
Ответ можно посылать http. Неважно как, но возвращаемый объект должен хранить в буфере текстовое значение json.
Вместе с текстом можно посылать заголовок в котором указать "content-type: application/json".
Если вы пользовались библиотекой gson, то для вас не составит труда используя api преобразовать значение объекта в строку, которую можно флашить в ответ. Не забудьте выключить кэш и куки из ответа для того чтобы было легче распарсивать json на клиенте.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей