[JavaScript] JSON

이건·2023년 12월 28일
0

Front-end

목록 보기
14/15

JSON이란?

JSON은 JavaScript Object Notation의 약자로, 데이터를 저장하거나 전송할 때 사용되는 경량의 데이터 형식이다. JSON은 텍스트 형태로 존재하며, JavaScript에서는 JSON.stringify()JSON.parse() 함수를 사용하여 JSON과 객체 간의 변환을 쉽게 수행할 수 있다.

객체를 JSON으로 변환

JSON.stringify() 함수를 사용하면 JavaScript 객체를 JSON 문자열로 변환할 수 있다.

let json = JSON.stringify(true);
console.log(json); // true

json = JSON.stringify(['apple', 'banana']);
console.log(json); // ["apple","banana"]

const rabbit = {
  name: 'tori',
  color: 'white',
  size: null,
  birthDate: new Date(),
  jump: function () {
    console.log(`${this.name} can jump!`);
  },
};

json = JSON.stringify(rabbit);
console.log(json); // {"name":"tori","color":"white","size":null,"birthDate":"2021-01-18T12:37:04.091Z"}

// 필터링된 속성으로 JSON 생성
json = JSON.stringify(rabbit, ['name', 'color', 'size']);
console.log(json); // {"name":"tori","color":"white","size":null}

// 콜백 함수를 이용한 세밀한 변환
json = JSON.stringify(rabbit, (key, value) => {
  return key === 'name' ? 'ellie' : value;
});
console.log(json); // {"name":"ellie","color":"white","size":null,"birthDate":"2021-01-18T12:37:04.091Z"}

JSON을 객체로 변환

JSON.parse() 함수를 사용하면 JSON 문자열을 JavaScript 객체로 변환할 수 있다.

json = JSON.stringify(rabbit);
console.log(json);
const obj = JSON.parse(json, (key, value) => {
  console.log(`key: ${key}, value: ${value}`);
  return key === 'birthDate' ? new Date(value) : value;
});
console.log(obj);
rabbit.jump();
// obj.jump(); // jump 메서드는 JSON으로 변환되지 않았기 때문에 에러가 발생한다.

console.log(rabbit.birthDate.getDate()); // 18 (오늘 날짜)
console.log(obj.birthDate.getDate()); // 18 (오늘 날짜)![](https://velog.velcdn.com/images/geon8692/post/f58ae257-b66a-4cc7-8369-78749c792b26/image.png)

0개의 댓글