[JS] JSON.stringfy()
JSON.stringfy()를 제대로 이해하고 써보자
JSON.stringfy()
JavaScript 값이나 객체를 JSON 문자열로 변환
구문
JSON.stringify(value[, replacer[, space]])
replacer
- 함수로 전달할 경우 변환 전 값을 변형
- 배열로 전달할 경우 지정한 속성만 결과에 포함
space
기본 예제
JSON.stringify({}); // '{}'
JSON.stringify(true); // 'true'
JSON.stringify('foo'); // '"foo"'
JSON.stringify([1, 'false', false]); // '[1,"false",false]'
JSON.stringify({ x: 5 }); // '{"x":5}'
JSON.stringify(new Date(2006, 0, 2, 15, 4, 5))
// '"2006-01-02T15:04:05.000Z"'
replacer
replacer
매개변수는 함수 또는 배열- 함수일 때는 key 와 value, 2개의 매개변수를 받음
- key 가 발견된 객체는 리플레이서의
this
매개변수로 제공
replacer 함수 활용
function replacer(key, value) {
if (typeof value === "string") {
return undefined;
}
return value;
}
var foo = {foundation: "Mozilla", model: "box", week: 45, transport: "car", month: 7};
var jsonString = JSON.stringify(foo, replacer);
// JSON 문자열 결과는 `{"week":45,"month":7}`
replacer 배열 활용
replacer
배열의 값은 JSON 문자열의 결과에 포함되는 속성의 이름JSON.stringify(foo, ['week', 'month']); // '{"week":45,"month":7}', 단지 "week" 와 "month" 속성을 포함한다
space
- number 일 경우 number 만큼 indent
- string일 경우 다음과 같이 동작
JSON.stringify({ a: 2 }, null, ' '); // '{ // "a": 2 // }'
- tab도 쓸 수 있다
JSON.stringify({ uno: 1, dos: 2 }, null, '\t'); // returns the string: // '{ // "uno": 1, // "dos": 2 // }'
Date: May 2, 2019
Tags:
JS