JavaでWeb APIからJSONを読み込む方法


  1. HttpURLConnectionを使用する方法:

    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import java.net.HttpURLConnection;
    import java.net.URL;
    public class JsonReader {
    public static void main(String[] args) {
        try {
            URL url = new URL("APIのURL");
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setRequestMethod("GET");
            int responseCode = connection.getResponseCode();
            if (responseCode == HttpURLConnection.HTTP_OK) {
                BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
                String line;
                StringBuilder response = new StringBuilder();
                while ((line = reader.readLine()) != null) {
                    response.append(line);
                }
                reader.close();
                String json = response.toString();
                // JSONの解析や処理を行う
            } else {
                // エラーハンドリング
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    }
  2. Apache HttpClientを使用する方法:

    import org.apache.http.HttpEntity;
    import org.apache.http.HttpResponse;
    import org.apache.http.client.HttpClient;
    import org.apache.http.client.methods.HttpGet;
    import org.apache.http.impl.client.HttpClients;
    import org.apache.http.util.EntityUtils;
    public class JsonReader {
    public static void main(String[] args) {
        try {
            HttpClient httpClient = HttpClients.createDefault();
            HttpGet request = new HttpGet("APIのURL");
            HttpResponse response = httpClient.execute(request);
            int statusCode = response.getStatusLine().getStatusCode();
            if (statusCode == 200) {
                HttpEntity entity = response.getEntity();
                String json = EntityUtils.toString(entity);
                // JSONの解析や処理を行う
            } else {
                // エラーハンドリング
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    }
  3. OkHttpを使用する方法:

    import okhttp3.OkHttpClient;
    import okhttp3.Request;
    import okhttp3.Response;
    import okhttp3.ResponseBody;
    public class JsonReader {
    public static void main(String[] args) {
        try {
            OkHttpClient client = new OkHttpClient();
            Request request = new Request.Builder()
                    .url("APIのURL")
                    .build();
            Response response = client.newCall(request).execute();
            if (response.isSuccessful()) {
                ResponseBody body = response.body();
                String json = body != null ? body.string() : "";
                // JSONの解析や処理を行う
            } else {
                // エラーハンドリング
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    }

これらの方法は、JavaでWeb APIからJSONを読み込むための一般的な手法です。選択する方法は、使用するライブラリやフレームワーク、個々の要件によって異なる場合があります。必要に応じて、上記のコード例をカスタマイズして使用してください。また、エラーハンドリングやJSONの解析・処理についても適切な方法を実装することをお勧めします。