๐ŸŸจ JavaScript/๊ฐœ๋…

[๋“œ๋ฆผ์ฝ”๋”ฉ] Object to JSON (stringify)

Zoeeey 2022. 6. 29. 12:50

Object to JSON

stringify(obj)

stringify๋Š” ๋ฐ์ดํ„ฐ๋ฅผ stringํƒ€์ž…์œผ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค.

let json = JSON.stringify(true);

console.log(json); //"true"
let json = JSON.stringify(['Noran','Paran']);

console.log(json);
//["Noran","Paran"]

ํ•œ๊ฐœ์˜ single quote๊ฐ€ ์•„๋‹Œ double quote๋กœ ๋ฐ”๋€ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์ด๊ฒƒ์ด JSON์˜ ๊ทœ๊ฒฉ์‚ฌํ•ญ์ด๋‹ค.

 

๋˜ํ•œ ์•„๋ž˜์ฒ˜๋Ÿผ ํ•จ์ˆ˜๋‚˜ javascript์—๋งŒ ์ž์ฒด์ ์œผ๋กœ ๋“ค์–ด์žˆ๋Š” ๋ฐ์ดํ„ฐ๋„ JSON์— ํฌํ•จ๋˜์ง€ ์•Š๋Š”๋‹ค.

const coder = {
  name: 'Noran',
  language: 'Javascript',
  height: null,
  birthDate: new Date(),
  symbol: Symbol('id'),
  sayhi: () => {
    console.log(`Hello, I'm ${name}!`);
  },
};

let json = JSON.stringify(coder);
console.log(json);

//{"name":"Noran","language":"Javascript","height":null,"birthDate":"2022-06-29T03:38:30.798Z"}

 

๋‚ด๊ฐ€ ์›ํ•˜๋Š” property๋งŒ ๊ณจ๋ผ์„œ JSON์œผ๋กœ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋‹ค.

let json = JSON.stringify(coder, ['name','language']);
console.log(json);

// {"name":"Noran","language":"Javascript"}

์กฐ๊ธˆ๋” ์„ธ๋ฐ€ํ•˜๊ฒŒ ํ†ต์ œํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์•„๋ž˜์ฒ˜๋Ÿผ ์ฝœ๋ฐฑํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

json = JSON.stringify(coder, (key, value) => {
  console.log(`key: ${key}, value: ${value}`);
  return value;
});
console.log(json);

// key: , value: [object Object]
// key: name, value: Noran
// key: language, value: Javascript
// key: height, value: null
// key: birthDate, value: 2022-06-29T03:46:52.806Z
// key: sayhi, value: () => {
//    console.log(`Hello, I'm ${name}!`);
//  }
// {"name":"Noran","language":"Javascript","height":null,"birthDate":"2022-06-29T03:46:52.806Z"}
json = JSON.stringify(coder, (key, value) => {
  console.log(`key: ${key}, value: ${value}`);
  return key ==='name'?'Paran' : value;
});
console.log(json);

// key: , value: [object Object]
// key: name, value: Noran
// key: language, value: Javascript
// key: height, value: null
// key: birthDate, value: 2022-06-29T03:49:50.917Z
// key: sayhi, value: () => {
//     console.log(`Hello, I'm ${name}!`);
//   }
// {"name":"Paran","language":"Javascript","height":null,"birthDate":"2022-06-29T03:49:50.917Z"}

์ถœ์ฒ˜ : ๋“œ๋ฆผ์ฝ”๋”ฉ https://www.youtube.com/@dream-coding / MDN https://developer.mozilla.org/ko