JSON.stringify
그리고 JSON.parse
를 이용하여 자바스크립트값과 JSON값을 사용한다.JavaScript Object Notation.
데이터 교환을 위해 만들어진 객체형식
의 포맷이다.
JSON.stringify
: Object type을 JSON로 변환. //직렬화(serialize)JSON.parser
: JSON을 Object type으로 변환. //역직렬화(deserialize)let packet = `{"sender":"김코딩","reveiver":"박해커","msg":"밥묵자!"}`
(==> 백틱이 중괄호를 감싸고 있고 / key와value에 모두 "")
===> 배열에 스트링을 붙여보자 !!!
예시) let obj = [1,2,3]
${obj}안에 객체(배열 또는 진짜 객체)를 입력받는 경우 , 객체의 문자열로 변환하여 대입한다.
let obj = ["1",2,3];
`${obj}` = "1,2,3" ; //중첩이 몇번이 되어도 다 벗겨지고 스트링화됨.
나중에 [${}]
이러한 작업을 하기 위해, 즉 템리터럴이 한번더 붙어야 하기 때문에
문자열을 한번더 중첩시켜준다. 그리고 []브라켓으로 감싸 배열로 만들어준다 (빈배열인경우를 위해)
마지막으로 배열이 걷히고, 문자열이 1겹 걷히고 []브라켓을 추가로 넣어준다.
그러면 obj에 ''리터럴이 붙은형태인 '[1,2,3]'이 출력된다.
var value = null;
String(null) // "null"
value.toString() //typeerror!!!
typeof null // "object"
typeof undefined // "undefined"
//따라서, 조건문에서 사용할때는
if(typeof obj ==='boolean'){
return `${obj}`;
}
if(typeof obj === 'string'){
return `"${obj}"`
}
if(typeof obj ==='number'){
return `${obj}`;
}
if(obj === null){
return `${obj}`;
}
//null은 값이므로, obj자체를 null과 비교해준다.