Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JSON.stringify() – 자바스크립트 객체를 JSON 문자열로 변환하는 방법

JSON.stringify()는 자바스크립트에서 가장 널리 사용되는 메서드 중 하나로, 자바스크립트 객체나 값을 JSON 형식의 문자열로 변환하여 반환합니다. 서버로 데이터를 전송하거나 localStorage에 데이터를 저장할 때 필수적으로 사용되는 함수입니다.

문법(Syntax)

JSON.stringify(value[, replacer[, space]])
  • value: JSON 문자열로 변환할 값(객체, 배열, 문자열, 숫자, 불리언 등)
  • replacer(선택): 변환 과정을 제어하는 함수 또는 포함할 키를 지정하는 배열
  • space(선택): 결과 문자열의 가독성을 높이기 위한 들여쓰기 공백 수

예제 1: 객체를 JSON 문자열로 변환

<html>
<head>
    <title>JavaScript Example</title>
</head>
<body>
    <script type="text/javascript">
        var jsonObj = {Tutorial: 'Java', Version: 8};
        var jsonString = JSON.stringify(jsonObj);
        document.write(jsonString);
    </script>
</body>
</html>

출력(Output)

{"Tutorial":"Java","Version":8}

객체가 키와 값 모두 큰따옴표로 감싸진 JSON 문자열로 변환된 것을 확인할 수 있습니다.

예제 2: 문자열에 적용한 경우

이미 문자열인 값을 전달하면 따옴표가 추가된 형태로 그대로 반환됩니다.

var jsonSample = '{Tutorial: Java, Version:8}';
document.write(JSON.stringify(jsonSample));

출력

"{Tutorial: Java, Version:8}"

알아두면 좋은 점

  • 반대로 JSON 문자열을 다시 자바스크립트 객체로 변환하려면 JSON.parse()를 사용합니다.
  • undefined, 함수, 심볼은 객체의 속성값일 경우 변환 과정에서 생략되며, 배열 안에서는 null로 변환됩니다.
  • Date 객체는 ISO 8601 형식(UTC 기준)의 문자열로 자동 변환됩니다.
  • space 옵션을 활용하면 JSON.stringify(obj, null, 2)처럼 보기 좋게 정렬된 문자열을 얻을 수 있습니다.