JSON.stringify 는 JavaScript 값이나 객체를 JSON 문자열로 변환한다.
value (or text) 는 문자열로 변환할 값
replacer는 JSON 문자열로 인코딩하기 원하는 프로퍼티가 담긴 배열. 또는 매핑 함수 function (key,value)
가독성을 목적으로 JSON 문자열 출력에 공백을 삽입하는데 사용되는 string, number 객체.
이것이 Number
라면, 공백으로 사용되는 스페이스(space)의 수를 나타낸다; 이 수가 10 보다 크면 10 으로 제한된다. 1 보다 작은 값은 스페이스가 사용되지 않는 것을 나타낸다.
이것이 String
이라면, 그 문자열(만약 길이가 10 보다 길다면, 첫번째 10 개의 문자)이 공백으로 사용된다. 이 매개 변수가 제공되지 않는다면(또는 null 이면), 공백이 사용되지 않는다.
(출처: MDN https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify)
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}
let user = {
name: "Sieun",
age: 27,
roles: {
isAdmin: false,
isEditor: true
}
};
console.log(JSON.stringify(user, null, 4));
/* 결과
{
"name": "Sieun",
"age": 27,
"roles": {
"isAdmin": false,
"isEditor": true
}
}
*/
JSON.stringify({ uno: 1, dos: 2 }, null, '\t');
/* 결과
'{
"uno": 1,
"dos": 2
}'
*/
let str = '{"title":"Conference","date":"2017-11-30T12:00:00.000Z"}';
let meetup = JSON.parse(str, function(key, value) {
if (key == 'date') return new Date(value);
return value;
});
alert( meetup.date.getDate() ); // JSON에서 date 값만 반환함