반응형
// XHR (데이터 요청과 받아올 수 있는 Object)
// XMLHttpRequest로 맨 처음 개발 당시에는 XML을 이용했지만 추후에는 여러 데이터 format으로 사용 가능
// 이름만 XML인 거지 다양한 format 사용 가능하다.
// 문자열 → Object (Serialize)
// Object → 문자열 (Deserialize)
const rabbit = {
name : 'tomi',
color : 'white',
size : 'small'
}
// JSON.stringify = String to JsonObject
let json = JSON.stringify(rabbit); // {"name":"tomi","color":"white","size":"small"}
console.log(json);
// 원하는 키만 JSON 변환 가능
json = JSON.stringify(rabbit, ['name']);
console.log(json); // {"name":"tomi"}
// jsonObject의 forEach
json = JSON.stringify(rabbit, (key, value) => {
console.log(`key : ${key}, value : ${value}`);
return value; // 필수
// return key === 'name'? 'tomi' : value; // key가 name인 경우 tomi를 넣어 return 해준다.
});
// key : , value : [object Object] // 최상위
// key : name, value : tomi
// key : color, value : white
// key : size, value : small
// jsonObject to String
const obj = JSON.parse(json);
console.log(`obj : ${obj}`) // {"name":"tomi","color":"white","size":"small"}
console.log(`name : ${obj.name}`); // name : tomi
const obj2 = JSON.parse(json, (key, value) =>{
console.log(`key : ${key}, value : ${value}`);
return value;
});
// key : name, value : tomi
// key : color, value : white
// key : size, value : small
// key : , value : [object Object]
반응형