JSON도 잘 쓰자
JSON과 파서들
JSON 데이터는 다음과 같은 두 가지의 구조를 기본으로 하고 있다.
- name/value 형태의 쌍으로 collection 타입
- 값의 순서가 있는 목록 타입
JSON도 많은 CPU와 메모리를 점유하며 응답 시간도 느리다.
많은 종류의 자바 기반 JSON 파서들이 존재하는데, 가장 많이 사용되는 JSON 파서로는 Jackson JSON과 google-gson 등이 있다.
Jackson JSON 에 대해 알아보자.
JSON을 파싱하는 코드의 성능 비교 결과를 보면 XML 파싱이 JSON 보다 매우 느리다고 생각할 수 있지만,
데이터를 전송하기 위해서 XML 및 JSON 데이터를 Serialize와 Deserialize 할 경우도 있다.
그런데 JSON 데이터는 Serialize와 Deserialize를 처리하는 성능이 좋지 않다.
XML 파서보다 JSON 파서가 느린 경우가 대부분이다.
JSON 데이터를 자바로 파싱하는 라이브러리들의 성능을 비교하는 여러 글을 읽어봤는데
대용량 환경에서는 Jackson을 마이크로 서비스와 분산아키텍처 설정등과 같이 작은 용량의 많은
json 파일을 처리하는 환경이라면 GSON을 사용하는 것이 좋다는 결론이 많았다.
정리
XML 이나 JSON을 데이터 처리 기준으로 선정한다면, 메모리 및 CPU 사용량 손실을 반드시 염두에 둬야한다.