본문 바로가기

DEV/etc...

[DEV] 데이터 직렬화, 역직렬화

언젠가 데이터 직렬화가 뭔지 알고 있냐는 질문을 받았던 일이 있었는데

그때 대답을 하지 못했던 기억이 나서 이번엔 이 부분을 이야기 해보려고 합니다!

 

데이터 직렬화(Serialization)와 역직렬화(Deserialization)의 의미

위키 백과에 따르면 직렬화는 객체를 저장 가능한 상태(예를 들어 디스크에 파일 형태 등) 혹은 전송 가능한 상태(네트워크 상의 데이터 스트림 형태)로 변환하는 것을 뜻한다 라고 합니다! 

 

쉽게 말해서 직렬화객체를 저장, 전송 할 수 있는 특정한 포맷으로 상태를 바꾸는 과정이라고 볼수 있습니다. 

그렇다면 역직렬화는 반대의 개념을 가지고 특정 포맷의 데이터를 객체화 하는것을 말할수 있겠습니다. 

직렬화, 역직렬화

JavaScript JSON

Front-End에서 가장 많이 다루는 자바스크립트의 JSON

자바스크립트 객체를 문자열로 표현하는 데이터 포맷입니다.

 

객체리터럴과 유사하지만 객체가 아닌 문자열로서 이를 이용해 다른 도메인과 데이터를 주고 받을 수 있게 됩니다.

 

JSON은 XML등의 다른 포멧에 비해 간결하고 손쉽게 자바스크립트 객체로 변환 할 수 있습니다.

그러한 이유로 서버와 클라이언트 간의 데이터 교환에 주로 사용됩니다.

 

JSON의 표기법

JSON은 key와 value형태로 작성됩니다.

{
"key" : "value"
"array" : ["1","2","3"]
"boolean" : "true"
}

위의 예시 처럼 key는 큰따움표로 감싸서 작성하고

value의 경우 문자열, 숫자, 불리언, 배열등의 값을 넣을 수 있습니다.

 

JSON의 직렬화, 역직렬화 방법

JSON.stringify()를 이용하여 자바스크립트 객체를 문자열로 변경 할 수 있으며,
JSON.parse()를 이용하여 자바스크립트 객체로 되돌릴수 있습니다.

 

간략히

데이터 직렬화와 역직렬화객체를 저장, 전송할수 있는 형태로 바꾸고 다시 객체화 하는 부분을 이야기 하고

자바스크립트 에서는 대표적으로 JSON을 예를 들 수 있습니다.

JSON은 JSON.stringify()JSON.parse() 메서드를 이용하여 직렬화, 역직렬화가 가능합니다.

 

 

출처 : 직렬화(Serialization)와 역직렬화(Deserialization)

          https://hanbulkr.tistory.com/14

 

반응형