openConnection получить тело ответа, как я могу удалить цикл - PullRequest
0 голосов
/ 02 ноября 2018

У меня есть код для выполнения запроса HTTP GET, и мне нужно проверить тело ответа, когда я получаю JSON:

 public static HTTPResult getRequest(String url) throws IOException {
        String result = null;
        URL urltouse = new URL(url);
        HttpURLConnection httpCon = (HttpURLConnection) urltouse.openConnection();
        httpCon.setRequestMethod("GET");
        Integer responseCode = httpCon.getResponseCode();
        String responseMessage = httpCon.getResponseMessage();
        if (200 <= httpCon.getResponseCode() && httpCon.getResponseCode() <= 299) {
            BufferedReader br = new BufferedReader(new InputStreamReader(httpCon.getInputStream()));
            StringBuilder sb = new StringBuilder();
            String output;
            while ((output = br.readLine()) != null) {
                sb.append(output);
            }
            result = sb.toString();
        } else {
            BufferedReader br = new BufferedReader(new InputStreamReader(httpCon.getErrorStream()));
        }

        return new HTTPResult(result,responseMessage,responseCode);
    }

Могу ли я заменить:

while ((output = br.readLine()) != null) {
                    sb.append(output);

с чем-то еще? похоже, цикл не закончится, пока не завершится JSON. Что произойдет, если мой JSON будет большим?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...