클라이언트와 서버 간의 HTTP통신을 위한 텍스트 데이터 포맷
이다. JS는 자바스크립트의 약자이지만 자바스크립트에 종속되지 않는 언어 독립형 데이터 포맷으로, 대부분의 프로그래밍 언어에서 사용가능하다.
JSON은 자바스크립트의 객체 리터럴과 유사
하지만 다른점이 있다.
바로 JSON의 키가 반드시 큰 따옴표(작은 따옴표 사용 불가)로 묶여야한다는 것이다.
값은 객체 리터럴과 똑같다고 보면된다. 문자열에만 큰 따옴표를 붙여주고, 숫자나 불리언 리터럴 등에는 따옴표를 붙이지 않아도 된다.
단어 그대로 문자열화 해주는 메서드이다.
클라이언트가 서버로 객체를 전송하려면 객체를 문자열화 해야한다. 이를 직렬화(serializing)라고 한다.
객체 뿐아니라 배열도 JSON포맷의 문자열로 변환한다.
최종적으로 [ { },{ },{ } ] 같은 형태로 통신을 주고 받는다.
// 다음과 같은 형식으로 사용한다.
// 한 줄로 된 JSON을 출련한다.
const json = JSON.stringfy(obj);
// 다음과 같은 형식으로 사용하면 들여쓰기가 적용된 여러줄의 형태를 출력해준다.
const prettyJson = JSON.stringfy(obj,null,2);
JSON.stringigy 메서드와 반대로 JSON포맷의 문자열을 객체로 변환한다.
서버로 부터 전송된 JSON을 객체로서 사용하려면 문자열을 객체화 해야한다. 이를 역직렬화(deserializing)라한다.
마찬가지로 배열형태도 변환이 가능하다.
// 다음과 같은 형식으로 사용한다.
const parsed = JSON.parse(json);