Jackson vs GSON vs JSON-SIMPLE

웹 서비스를 개발할 때, 대다수의 개발자가 마주치게 되는 것이 JSON 입니다. API의 개념이 도입되면서 클라이언트와 서버는 JSON 포멧으로 데이터를 주고받는게 일반적이며, 시스템 간 서버끼리 데이터를 주고 받을 때도 API 형식으로 데이터를 넘겨주는 경우가 있습니다. 이때, 백엔드에서는 Java Entity를 JSON 문자열로 변환하거나 JSON 문자열을 Java Entity로 편하게 변환하기 위해 라이브러리를 사용하는데, 대표적으로 Jackson, GSON, JSON-SIMPLE이 있습니다. 세 개의 라이브러리 중 어떤 라이브러리를 사용해야 할까요? 단순히 코드 짜기 편한 라이브러리를 선택한다면, 성능 상 이슈가 발생할 수 있습니다. 본인이 서비스하는 시스템의 특성에 따라 라이브러리를 선택할 것을 권장합니다. 간략하게 장단점을 정리해봤습니다. 보시고 시스템 환경에 맞는 라이브러리를 선택하시길 바랍니다. ▪️ Jacskon - 대용량 데이터일수록 성능 향상 - Spring Framework 내장 (어노테이션 지원) - Serialize/Deserialize 커스텀 용이 (상속 지원) - 소스코드 작성 간단함 ▪️ GSON - 저용량 데이터에서 성능 무난 - 대용량 데이터일수록 성능 하락 - Serialize/Deserialize 커스텀 용이 (상속 지원) - 소스코드 작성 간단함 ▪️ JSON-SIMPE - 데이터 용량에 따른 성능 차이 미세함 (저용량/대용량 모두 다루는 환경에 적합) - Deserialize 커스텀 불편 - 소스코드 작성 불편함 실제 저희 서비스 환경 조건에서 각 라이브러리 별 JSON Parser를 구현해 성능 비교를 해본 결과, Jackson이 성능이 월등하게 우세하여 기존 GSON으로 되어 있는 코드를 Jackson을 사용하도록 수정했습니다. 실제 구현 방법과 성능 비교 결과는 제 블로그에 정리해뒀으니 관심이 있으시면 참고하시길 바랍니다.

[Java] Json을 Java 객체로 변환하는 방법(Gson, Jackson, JSON-SIMPLE)

Velog

[Java] Json을 Java 객체로 변환하는 방법(Gson, Jackson, JSON-SIMPLE)

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2023년 6월 1일 오전 12:15

 • 

저장 185조회 9,245

댓글 3