JSON.stringify()?

js값이나 객체를 json 문자열로 변환

JSON.stringify( value , [replacer, [space]] );


바로바로 코드 넣어가며 따라해봐요😎
👉 https://playcode.io/


value Parameter

✔️ 필수 required

  • JSON 문자열로 변환할 값 (ex. 배열, 객체, 숫자, 문자 등)
  • 전달된 객체가 지닌 속성의 순서를 보장❌

value example

console.log(JSON.stringify({ x: 5, y: 6 }));
// expected output: "{"x":5,"y":6}"

console.log(JSON.stringify([new Number(3), new String('false'), new Boolean(false)]));
// expected output: "[3,"false",false]"

console.log(JSON.stringify({ x: [10, undefined, function(){}, Symbol('')] }));
// expected output: "{"x":[10,null,null,null]}"

console.log(JSON.stringify(new Date(2006, 0, 2, 15, 4, 5)));
// expected output: ""2006-01-02T15:04:05.000Z""

console.log(JSON.stringify(['ggg','bora']));
// expected output: "["ggg","bora"]"

console.log(JSON.stringify('ggg'));
// ""ggg""

replacer Parameter

✔️ 선택적 optional

  • 생략하거나, null값이면 👉 json 문자열에 변환없이 다 포함

replacer example

  • 함수일 땐 함수를 거쳐 변환(replace function)후 json 문자열에 적용
function customReplacer(key, value) {
  if (typeof value === "string") {
    return value.toUpperCase();
  }
  return value;
}

var obj = {name: "bora", nickname: "dabo", age: 20};
var returnVal = JSON.stringify(obj, customReplacer); 

console.log(returnVal); // {"name":"BORA","nickname":"DABO","age":20}

  • 배열일 땐 배열의 값과 일치하는 key값만 json 문자열에 적용
var obj = {name: "bora", nickname: "dabo", age: 20};
var useJson = JSON.stringify(obj, ["nickname", "address", "bora"]);

console.log(useJson); // {"nickname":"dabo"}

space Parameter

✔️ 선택적 optional

  • 가독성을 목적으로 JSON 문자열 출력에 공백을 삽입하는 데 사용,
    string이나 number 객체 사용
  • 생략하거나, null값이면 👉 공백 사용 안됨

space example

  • String 입력한 문자열 공백
var obj = {name: "bora", nickname: "dabo", age: 20};
var useJson = JSON.stringify(obj, null, '--> ');

console.log(useJson); 
// {
// --> "name": "bora",
// --> "nickname": "dabo",
// --> "age": 20
// }
  • number 숫자만큼 공백
var obj = {name: "bora", nickname: "dabo", age: 20};
var useJson = JSON.stringify(obj, null, 4);

console.log(useJson); 
// {
//     "name": "bora",
//     "nickname": "dabo",
//     "age": 20
// }
profile
𝙸 𝚊𝚖 𝚊 𝚌𝚞𝚛𝚒𝚘𝚞𝚜 𝚍𝚎𝚟𝚎𝚕𝚘𝚙𝚎𝚛 𝚠𝚑𝚘 𝚎𝚗𝚓𝚘𝚢𝚜 𝚍𝚎𝚏𝚒𝚗𝚒𝚗𝚐 𝚊 𝚙𝚛𝚘𝚋𝚕𝚎𝚖. 🇰🇷👩🏻‍💻

0개의 댓글