클라이언트와 서버 간 HTTP 통신을 위한 텍스트 데이터 포맷이다.
자바스크립트에 종속되지 않는 언어 독립형 데이터 포맷이라는 점 덕분에 대부분의 프로그래밍 언어에서 사용이 가능하다.
const obj = {
name: "Jeong",
age: 22,
alive: true,
hobby: ["nothing", "coding"],
}
object -> JSON format 문자열로 변환한다 (serializing)
{ 클라이언트 -> 서버 } 로 객체를 전송하려면 JSON.stringify()메서드를 이용하여 문자열화 해야 한다.
// obj -> json
const json = JSON.stringify(obj);
console.log(json);
const prettyJson = JSON.stringify(obj, null, 2);
console.log(typeof prettyJson, prettyJson)

배열도 JSON 포맷의 문자열로 바꿔준다.
const todos = [
{ id: 1, content: 'HTML', completed: false },
{ id: 2, content: 'CSS', completed: true }
]
const prettyJson = JSON.stringify(todos, null, 2);
console.log(typeof prettyJson, prettyJson)

JSON format 문자열을 객체로 변환한다 (deserializing)
// obj -> json
const json = JSON.stringify(obj);
console.log(json);
// json -> obj
const parsed = JSON.parse(json);
console.log(parsed);
