JS | 직렬화와 역직렬화, JSON.stringify()와 JSON.parse()
1. 직렬화(Serialization)란?
직렬화(Serialization)는 데이터를 전송하거나 저장하기 위해, 객체나 데이터 구조를 일련의 문자열로 변환하는 과정을 말합니다. 예를 들어, 자바스크립트의 객체를 네트워크를 통해 전송하거나 파일에 저장하고 싶을 때, 이 객체를 텍스트 형태로 변환하는 것이 바로 직렬화입니다.
2. JSON.stringify()란?
JSON.stringify()는 자바스크립트에서 객체를 JSON 형식의 문자열로 직렬화하는 방법입니다.
• JSON(JavaScript Object Notation)은 데이터 교환 형식으로 널리 사용되는 텍스트 기반의 형식입니다.
• JSON.stringify()는 자바스크립트 객체를 JSON 문자열로 변환해 줍니다.
const user = {
name: "Alice",
age: 25,
isStudent: true
};
const jsonString = JSON.stringify(user);
console.log(jsonString); // {"name":"Alice","age":25,"isStudent":true}
3. 역직렬화(Deserialization)란?
역직렬화(Deserialization)는 직렬화된 데이터를 다시 원래의 객체나 데이터 구조로 복원하는 과정입니다. 직렬화된 문자열을 받아서, 다시 자바스크립트 객체로 변환할 때 사용됩니다.
직렬화된 데이터를 다시 컴퓨터가 이해할 수 있는 복잡한 데이터(객체)로 되돌리는 과정이라고 생각하면 됩니다.
4. JSON.parse()와 역직렬화
JSON.parse()는 JSON 문자열을 받아서 자바스크립트 객체로 역직렬화해 줍니다.
const jsonString = '{"name":"Alice","age":25,"isStudent":true}';
const user = JSON.parse(jsonString);
console.log(user.name); // "Alice"
console.log(user.age); // 25