JSON은 Javascript Object Notation의 줄임말입니다. 데이터를 문자열의 형태로 나타내기 위해서 사용합니다.
1. 장점
- 기존의 XML을 빠르게 대체한 것은 가독성이 좋기 때문입니다.
- 기계가 읽는 거 뿐만 아니라, 사람이 읽기에도 무리가 없습니다.
- JSON으로 객체, 배열, 문자열, 숫자, boolean, null 등을 나타낼 수 있습니다.
2. JS에서의 활용
- JS에서는 JSON 포맷의 데이터를 간편하게 다룰 수 있도록, JSON 내장 객체를 갖고 있습니다.
- 브라우저, Node.js 런타임에서 실행할 때 전역(global)에서 접근이 가능합니다.
- JSON 내장 객체는 parse와 stringify라는 메서드를 갖고 있습니다.
- 이 두가지 메서드는 JS 객체와 JSON 문자열 간의 상호 변환을 담당하고 있습니다.
(1) JSON.parse()
- parse 메서드를 사용하면, JSON 문자열을 JS 객체로 변환할 수 있습니다.
- 외부에서 문자열의 형태로 주어진 데이터를 해당 언어에서 다루기 용이하도록 내장 데이터 타입으로 변환하는 과정을 deserializtion 이라고 합니다.
- 대표적으로 클라이언트에서 JSON 데이터를 보내게 되면, 서버에서 JS 객체로 변환하는 경우가 있습니다.
(2) JSON.stringify()
- stringify 메서드를 사용하면, JS 객체를 JSON 문자열로 변환할 수 있습니다.
- 특정 언어의 내장 타입 데이터를 외부에 전송하기 용이하도록 변환하는 과정을 serialization 이라고 합니다.
- 대표적으로 서버에서 클라이언트의 요청을 처리한 후에, JS 객체 형태의 데이터를 JSON 문자열로 변환하는 경우가 있습니다.