Как получить данные файла JSON к которым нужно ссылаться с cURL
Если хотим прочитать данные файла с онлайн сервера, мы можем использовать объект URL + его метод openConnection().
Теперь я столкнулся с проблемой, что дают ссылку cURL и я не знаю, как с него получать данные.
Покажите простейший пример получения данных с cURL на Java?
https://stackoverflow.com/questions/2793150/how-to-use-java-net-urlconnection-to-fire-and-handle-http-requests
речь, как я понял, идет про пакет java.net, причём тут вообще curl?
что такое "ссылка curl"?
Например, так. По сути все преобразование сводится к тому, чтобы из String сделать DTO класс, в точности описываемый форматом json. Тут в примере я не создавал такой класс, использовал Map. Можете написать класс самостоятельно.
url выбран просто из доступных, возвращающих json. Можете свой тестировать.
import com.google.gson.Gson;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Map;
class Main {
public static void main(String[] args) {
String data = getJSON("http://api.plos.org/search?q=title:DNA");
Map msg = new Gson().fromJson(data, Map.class);
System.out.println(msg);
System.out.println(msg.get("response"));
}
public static String getJSON(String url) {
HttpURLConnection c = null;
try {
URL u = new URL(url);
c = (HttpURLConnection) u.openConnection();
c.setRequestMethod("GET");
c.connect();
int status = c.getResponseCode();
switch (status) {
case 200:
case 201:
BufferedReader br = new BufferedReader(new InputStreamReader(c.getInputStream()));
StringBuilder sb = new StringBuilder();
String line;
while ((line = br.readLine()) != null) {
sb.append(line).append("\n");
}
br.close();
return sb.toString();
}
} catch (IOException ex) {
ex.printStackTrace();
} finally {
if (c != null) {
try {
c.disconnect();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
return null;
}
}