[JS] JSON.Stringify()

호두파파·2021년 1월 24일
0

호두파파 JS 스터디

목록 보기
5/27

자바스크립트 JSON 문자열 변환하기

웹서버와 클라이언트 사이에서 통신을 하기 위해서는 문자열을 이용합니다. 클라이언트에서 사용하는 JavaScript객체를 웹서버로 보내기 위해서 많이 사용하는 것이 JSON입니다.

JSON의 Stringity()라는 함수를 이용해 JavaScript 객체를 JSON 문자열로 변환할 수 있습니다.

Syntax

JSON.Stringity(value[, replace[, space]])
사적적 의미 : (컴퓨터로) 텍스트 표현으로 변환하다
즉, 입력받은 값을 JSON 문자열로 변환한다는 의미가 된다.

Parameter

value

JSON string (문자열)로 변환하고자 하는 JavaScript 객체

replacer(Optianal)

가독성을 위해 출력 JSON 문자열에 공백을 삽입하는데 사용되는 String 또는 Number 객체

  • Number 공백에 사용할 문자 수를 의미한다. 최대 10, 10 이상의 값을 경우 10으로 적용
  • Strung문자열이 공백으로 사용됨 Space 값이 null이거나 제공되지 않을 경우 공백이 사용되지 않음.

JSON String으로 변환하고자 하는 value 값은 필수 입력 값이지만 객체 속성을 선택 / 필터링하지 위한 replacer와 공백 문자열을 지정하는 space는 선택적으로 입력 또는 입력하지 않아도 된다.

Description

Boolean, Number 및 String 객체들이 변환될때는 각각의 primitive type에 맞는 값으로 변환됩니다.

console.log(JSON.Stringify({x:1004, y: 7942}));
console.log(JSON.Stringify({x:'true', y: 'false'}));
console.log(JSON.Stringify({x:true, y: false}));

X 및 y 값을 입력한 결과를 JSON 문자열로 변환된 값은 아래와 같습니다.

  • "{"x":1004,"y":7942}"
  • "{"x":"1004", "y": "7942"}"
  • "{"x":true, "y":false}"

만약 변환 중 undefined, 함수 또는 symbol이 객체에서 발견되면 undefined가 리턴되며 array에서 발견되면 null을 리턴합니다.

console.log(JSON.Stringify(undefined);
console.log(JSON.Stringify(function(){});
console.log(JSON.Stringify(symbol(''));

위 코드 결과값은 모두 undefined 입니다.

객체에서 undefined, 함수 또는 symbol이 들어왔기 때문에 undefined로 리턴되었습니다.

console.log(JSON.Stringify([undefined, function(){}, symbol(''));            

위 코드는 객체가 아닌 배열(array)에 undefined, 함수 그리고symbol이 들어왔습니다. 결과는 모두 null입니다.

배열에서 위 값들이 들어올 경우 null로 리턴됩니다.

마찬가지로 NaN null Infinity 등은 모두 null로 리턴됩니다.

console.log(JSON.stringify([NaN, null, Infinity]));

참조

profile
안녕하세요 주니어 프론트엔드 개발자 양윤성입니다.

0개의 댓글