Recent Posts
Recent Comments
Link
06-30 12:53
Today
Total
관리 메뉴

삶 가운데 남긴 기록 AACII.TISTORY.COM

JSON 본문

DEV&OPS/Javascript

JSON

ALEPH.GEM 2022. 3. 2. 14:46

직렬화(serialize)

컴퓨터 메모리 안에 구현된 객체(인스턴스)를 문자열로 변환하는 과정을 직렬화라고 합니다.

반대로 문자열을 다시 객체로 환원화하는 것을 역직렬화라고 합니다.

 

JSON(Javascript Object Notation) 표기법

리터럴 객체: { name : "Tom", age : 17, marriage : false, data : [2, 5, null] };

JSON: ' { "name" : "Tom", "age" : 17, "marriage" : false, "data" : [2, 5, null] } ';

차이점은 프로퍼티 이름을 큰따옴표로 묶은 문자열로 표기하고 전체는 작은 따옴표로 묶어서 표기한다는 점입니다.

 

객체를 JSON으로 변환

JSON.stringify()

첫번째 인수: JSON으로 변환할 객체.

두번째 인수(생략가능): 함수 또는 배열. 함수인경우 프로퍼티의 키와 값을 함수의 인수로 받아서 문자열을 리턴하고 배열을 지정하면 배열의 element로 객체의 프로퍼티 네임을 필터링합니다.

JSON.stringify({x:1, y:2, z:3}, ["x", "z"]);	//'{"x":1, "z":3}'
//배열의 원소 값으로 필터링

세번째 인수(생략가능):  지정된 문자로 들여쓰기를 합니다.

 

주의할 점

  • 열거 가능한 프로퍼티만 직렬화 됩니다.
  • 직렬화 할 수 없는 프로퍼티는 문자열로 출력되지 않습니다.
  • 프로퍼티 중에서 키가 심벌인 경우도 직렬화 되지 않습니다.

 

JSON을 객체로 환원

JSON.parse()

첫번째 인수: JSON 문자열 객체를 지정합니다.

두번째 인수(생략가능): 프로퍼티의 키와 값을 인수로 받는 함수를 지정할 수 있습니다. 이 함수는 환원될 객체의 프로퍼티 값을 리턴해야만 합니다.

JSON.parse('{"x":1,"y":2}');	//{x:1, y:2}

 

 

 

 

 

 

 

 

 

728x90

'DEV&OPS > Javascript' 카테고리의 다른 글

javascript array, map, set  (0) 2022.03.03
javascript 알고리즘 연습  (0) 2022.03.02
javascript object property  (0) 2022.03.02
javascript prototype  (0) 2022.02.23
javascript ECMAScript 6부터 추가된 함수와 객체의 기능  (0) 2022.02.21