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.io

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

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2023년 6월 1일 오전 12:15

 • 

저장 188조회 9,565

댓글 3

함께 읽은 게시물

PM이 이해하면 좋은 지표 개념

프로덕트 매니저(PM)로 일하면서 늘 지표 이야기를 듣게 됩니다. 대부분 PM은 선행지표(leading indicator)와 후행지표(lagging indicator)의 개념을 잘 이해하고 있습니다. 하지만 선행지표에 영향을 미치는 '인풋(input) 지표, '아웃풋(o

... 더 보기

 • 

댓글 1 • 저장 33 • 조회 1,233


액터모델과 오버엔지니어링

... 더 보기

WEBNORI

wiki.webnori.com

WEBNORI

개발자는 개발만 잘하면 될까

최근에 친구가 추천해준 데일 카네기의 인간관계론을 읽던 중 고액 연봉을 받는 엔지니어들의 특징에 대한 흥미로운 내용이 있었다.

... 더 보기

 • 

저장 12 • 조회 2,539


OpenAI가 발표한 Codex의 핵심은 AI와 함께 진짜 팀으로 일하는 것 같은 경험을 준다는거네요.


기존의 코딩 어시스턴트는 Agent라는 이름을 붙였어도 결국은 자동완성의 확장에 그치는 것이라, 즉, 나의 뇌를 확장하는 것이라 한계가 좀 명확했는데요.


... 더 보기

간만에 개발 떡밥이(신난다) 이번엔 제가 소수 입장에 있는 ORM이군요. 후후..


저는 몇몇 사건을 통해 ORM 반대주의자가 된 사람인데요.


... 더 보기

투표 완료!