TIL
console.log()로 [object]를 찍고 싶을 때
Alraffe
2023. 7. 25. 18:48
It's easy~ peasy~lemon-squeeezy~
// 기존에 data라는 오브젝트가 있다고 가정.
console.log(JSON.stiringify(data));
// or
alert(JSON.stringify(data));
JSON.stringify() 와 JSON.parse()
JSON.stringify(value[, replacer, space])
: value를 JSON형태의 값으로 변환시켜주는 함수
JSON.stringify사용방법을 뜯어보면 value는 필수값으로 JSON형태로 변환할 값을 입력한다. replacer와 space는 옵션값이며, replacer는 배열일 수도 함수일 수도 있다. 배열이 매개변수로 넘겨질 경우 배열에 있는 값만 결과 값에 포함된다. 한편 함수로 넘겨질 경우 함수에서 리턴되는 값으로 결과값이 출력된다.
space자리에는 string 또는 number값을 입력할 수 있는데 이를 입력하면 string으로 이뤄진 개행마크로 이용되고 입력된 숫자만큼 값이 개행될 때 들여쓰기 수준이 된다.
function replacer(key, value) {
if (typeof value === "string") {
return undefined;
}
return value;
}
const foo = {
model: "box",
week: 12,
transport: "foot",
month: 5,
};
// replacer 함수 예시
JSON.stringify(foo, replacer);
//result : '{"week":12,"month":5}'
// replacer 배열 예시
JSON.stringify(foo, ["week", "month"]);
// '{"week":12,"month":5}'</code></pre>
JSON.parse(text[, reviver])
: JSON형태의 값을 string으로 표현된 자바스크립트 값이나 객체로 환시켜주는 함수.
reviver는 JSON.stringify()의 replacer와 비슷하다. 값이 리턴되기 전 reviver로 가공한 값을 반환할 수 있다. reviver는 text값이 파싱되고 실행된다.
JSON.parse(
'{"p": 5}',
(key, value) =&gt;
typeof value === "number"
? value * 2
: value,
);
// { p: 10 }
참고