728x90
rest api로 api를 만들어서 테스트를 진행하였는데, Json에 데이터를 넣어주다가,
다른 open api와 다르게 한줄로 지저분 하게 출력이 되어서 찾게 되었고 이쁘게 나오는 법을 공유하고자 한다.
# 증상 :
출력을 하면 이렇게 한줄로만 나오는데, 물론 이대로 사용해도 되긴 하지만, 다른 api와 비교하면.. 없어보인다.
# Pretty Print로 출력 시
# 해결법 :
ObjectMapper objectMapper = new ObjectMapper();
JsonNode jsonNode = objectMapper.readTree(result);
prettyJsonStr = objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(jsonNode);
return prettyJsonStr;
ObjectMapper로 result => JSONObject의 객체를 담고, 그것을 jsonNode로 담는다. objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString를 사용해서 jsonNode를 담아주면
이쁘게 출력됨.
# 팁 :
했음에도 불구하고, 이렇게 나온다면 백슬래쉬 제거를 안해줬기 때문에. 제거 처리 해줘야함.
처리 방법은
result = resultObj.toString().replaceAll("\"\\[" ,"\\[").replaceAll("\\]\"" ,"\\]").replaceAll("\\\\" ,"");
로 제거후에 해결법으로 하면 정상적으로 이쁘게 출력 됨.
'개발 > JAVA' 카테고리의 다른 글
[stream API] 같은 뜻 간결하게 만들기 위해 사용 (0) | 2023.04.19 |
---|---|
[Java] if문을 조건부 연산자로 변경 (0) | 2023.03.06 |
[Java] 임시 폴더 경로 가져오기 (0) | 2023.01.18 |
[Java] 제공되는 타입이 일치하지 않을 때, 비 static 필드는 static 컨텍스트에서 참조할 수 없습니다. 해결법 (0) | 2023.01.18 |
[Intellij] 실행 가능한 jar파일 만들기 (0) | 2022.12.23 |