TIL 230128 JSON 활용 메서드 (2)

시은·2023년 1월 28일
0

TIL

목록 보기
7/7



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

JSON.stringify 는 JavaScript 값이나 객체를 JSON 문자열로 변환한다.

  1. value (or text) 는 문자열로 변환할 값

  2. replacer는 JSON 문자열로 인코딩하기 원하는 프로퍼티가 담긴 배열. 또는 매핑 함수 function (key,value)

  3. 가독성을 목적으로 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)



- 예시) replacer ⇒ function
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}


- 예시) space
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
 }'
*/


JSON.parse(str, [reviver])

  1. str (or JSON) 은 JSON 형식의 문자열
  2. reviver 모든  function(key,value) 형태의 함수라면, 변환 결과를 반환하기 전에 이 인수에 전달해 변형함.
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 값만 반환함

Ref

profile
FE 개발자로 싹틔우기 기록

0개의 댓글