У меня есть код для выполнения запроса 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 будет большим?