서버로부터 Json을 읽어올 때 BufferedReader의 readLine()을 사용하였다.
콘솔에 잘 가져오나 찍어보아도 Json 데이터 모두를 가져오기에 이상이 없는 줄 알았다.
하지만 팀장님이 말씀하시길 이 메소드를 사용하면 문제가 발생할 수도 있다고 하였다.
한 줄로 서버가 Json을 전송하였기에 readLine()을 사용할 경우 한 줄을 읽을 때 끝까지 읽을 수 있는 것이지
이렇게 줄을 분리하여 Json 데이터를 보낼 경우 readLine()을 사용하면 첫 줄 데이터("{")만 읽게 되는 문제가 발생한다.
따라서 사전에 이러한 문제를 방지하기 위해서는 다른 방법을 사용할 필요가 있다.
위의 예시와 같이 만들어 주어 한 줄씩(readLine이기에 다음 번에 호출 시 마지막 호출 된 다음 줄 부터 읽는다. 그렇기에 while문 조건에 대입문을 해야한다.) 읽어 StringBuilder에 붙여주면 된다.
참조 : https://ahndding.tistory.com/5
'개발 지식' 카테고리의 다른 글
Spring Boot에서 save 메소드의 동작 원리 (0) | 2020.12.07 |
---|---|
윈도우에서 특정 포트번호 사용하고있는 프로세스 kill (0) | 2020.12.02 |
JavaScript의 배열 선언 방식과 그에따른 '==', '===' 연산자 사용시 다른 점 정리 (0) | 2020.11.22 |
필드, 변수, static, final (0) | 2020.11.14 |
Java의 synchronized 키워드에 대한 고찰 (0) | 2020.11.14 |