JSONObject vs HashMap(Jackson 라이브러리 사용)

Jung·2021년 11월 22일
0

TIL

목록 보기
56/77
post-thumbnail

Jackson 라이브러리를 사용해 HashMap 객체를 return 하면 Content-Type이 application/json인 포맷으로 반환 된다.

하지만 org.JSON 라이브러리를 사용해 JSONObject 객체를 return 하면 406 에러가 뜬다. 그래서 JSONObject 객체를 toString()을 적용해 반환해야 한다. 하지만 이렇게 반환을 하게 되면 Content-Type이 text/plain이다.

이렇게 되면 ajax를 사용했을 때

<script>
$.ajax({
    type: "POST",
    url: "/check-dup",
    contentType: "application/json",
    data: JSON.stringify({
        username: username
    }),
    success: function (response) {
        response = JSON.parse(response);
        // 로직 생략
    }
});
</script>

response = JSON.parse(response)처럼 JSON 문자열을 객체로 변환해야 하는 작업이 필요하다.

하지만 Jackson을 사용하면 Content-Type이 application/json인 포맷으로 반환할 수 있다 !

Jackson vs 기타 JSON 라이브러리

나는 org.JSON 사용했었다.

구글에서 만든 GSON이 org.JSON보다 훨씬 더 많은 기능을 지원해주는 것도 알 수 있었다. 하지만 Jackson은 GSON보다 더 많은 기능을 지원한다!! 그래서 스프링이 Jackson을 밀어주는 건가...

나중에 https://mommoo.tistory.com/83 이거 보고 더 공부해야지...

표 참고: https://itsallbinary.com/jackson-vs-gson-vs-json-b-vs-json-p-vs-org-json-vs-jsonpath-java-json-libraries-features-comparison/

profile
97kim.github.io

0개의 댓글