데이터 직렬화 기초
직렬화·역직렬화가 무엇이고 포맷 변환이 어떻게 이뤄지는지 설명합니다.
직렬화(serialization)는 메모리 안의 데이터 구조를 저장·전송할 수 있는 텍스트나 바이트로 바꾸는 일입니다. 반대로 그 텍스트를 다시 데이터 구조로 되돌리는 것을 역직렬화(파싱)라고 합니다.
포맷 변환은 사실 이 두 단계의 조합입니다. 원본 포맷을 공통 데이터 모델(객체·배열·값)로 파싱한 뒤, 그 모델을 대상 포맷으로 다시 직렬화합니다. 이 도구도 내부적으로 같은 방식으로 동작합니다.
그래서 서로 표현력이 다른 포맷 사이에서는 정보가 일부 손실될 수 있습니다. 예를 들어 계층 구조를 가진 데이터를 평평한 CSV로 직렬화하면 중첩 정보를 온전히 담기 어렵습니다.