Как сделать HTTP-запросы Json в Java? Любая библиотека? В разделе "HTTP Json request" я имею в виду сделать POST с объектом Json в качестве данных и получить результат как Json.
HTTP-запросы Json в Java?
Ответ 1
Помимо выполнения самого HTTP-запроса, который может быть выполнен даже с помощью java.net.URL.openConnection, вам просто нужна библиотека JSON. Для удобной привязки к/из POJOs я бы рекомендовал Jackson.
Итак, что-то вроде:
// First open URL connection (using JDK; similar with other libs)
URL url = new URL("http://somesite.com/requestEndPoint");
URLConnection connection = url.openConnection();
connection.setDoInput(true);
connection.setDoOutput(true);
// and other configuration if you want, timeouts etc
// then send JSON request
RequestObject request = ...; // POJO with getters or public fields
ObjectMapper mapper = new ObjectMapper(); // from org.codeahaus.jackson.map
mapper.writeValue(connection.getOutputStream(), request);
// and read response
ResponseObject response = mapper.readValue(connection.getInputStream(), ResponseObject.class);
(очевидно, с лучшей проверкой ошибок и т.д.).
Есть лучшие способы сделать это, используя существующие библиотеки rest-client; но на низком уровне это просто вопрос об обработке HTTP-соединения и привязка данных к/из JSON.
Ответ 2
Используйте Apache HTTP Client 4 и проверьте эту страницу для JSON и Java.