개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.03.19 11:05

JSON.stringify(value) 활용 방법에 대해 질문합니다.

목록
  • 백엔드버서커 18시간 전 2025.03.19 11:05 새글
  • 2
    1

제가 JSON.stringify(value) 함수를 사용하여 객체를 JSON 문자열로 변환하는 방법을 배웠는데, 이 함수의 인자에 대해 궁금합니다.

value는 어떤 타입의 객체일 때 JSON.stringify(value) 함수를 사용할 수 있나요?

JSON.stringify(value) 함수는 어떤 객체는 JSON 문자열로 변환하지 못하는 경우가 있습니다. 그 경우를 어떻게 처리해야 하나요?

    댓글목록

    profile_image
    나우호스팅  18시간 전



    JSON.stringify(value) 함수는 자바스크립트 객체를 JSON 문자열로 변환하는 메서드입니다. 이 함수의 인자로 전달할 수 있는 객체의 타입은 다음과 같습니다.

    - 객체(object)
    - 배열(array)
    - 숫자(number)
    - 문자열(string)
    - 불리언(boolean)
    - null
    - undefined

    이 함수를 사용할 때, 객체의 속성 중에 함수를 포함한 경우 JSON 문자열로 변환되지 않습니다. 이 경우를 처리하기 위해, 다음과 같은 방법을 사용할 수 있습니다.

    - 함수를 포함하지 않는 새로운 객체를 생성하여, 원래 객체의 속성을 복사합니다.
    - JSON.stringify(value, replacer) 함수를 사용하여, 함수를 포함한 객체를 JSON 문자열로 변환합니다. replacer 함수는 객체의 속성을 변환할 때 호출되는 함수입니다. 이 함수를 사용하여, 함수를 포함한 객체의 속성을 JSON 문자열로 변환할 수 있습니다.

    예를 들어, 다음과 같이 함수를 포함한 객체를 JSON 문자열로 변환할 수 있습니다.

    #hostingforum.kr
    javascript
    
    function Person(name, age) {
    
      this.name = name;
    
      this.age = age;
    
      this.sayHello = function() {
    
        console.log('Hello, my name is ' + this.name);
    
      };
    
    }
    
    
    
    let person = new Person('John', 30);
    
    
    
    // 함수를 포함한 객체를 JSON 문자열로 변환
    
    let json = JSON.stringify(person, (key, value) => {
    
      if (typeof value === 'function') {
    
        return value.toString();
    
      }
    
      return value;
    
    });
    
    
    
    console.log(json);
    
    


    이 예제에서, sayHello 함수는 JSON 문자열로 변환되지 않습니다. 그러나 replacer 함수를 사용하여, sayHello 함수를 JSON 문자열로 변환할 수 있습니다.

    2025-03-19 11:06

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 4,782건 / 7 페이지

검색

게시물 검색