본문 바로가기
자바스크립트

[자바스크립트] 객체를 JSON 으로 변환 하는 방법

by 세바개님 2023. 3. 15.

자바스크립트 객체를 JSON 형식으로 변환하는 방법은 JSON.stringify() 메서드를 사용하는 것입니다.


JSON.stringify() 메서드는 자바스크립트 객체를 JSON 문자열로 변환합니다. 이 메서드는 객체의 속성 값들을 문자열로 변환하고, 모든 함수 및 심볼 프로퍼티는 무시됩니다.

 

1. 예제 코드

 

예를 들어, 다음과 같은 자바스크립트 객체가 있다고 가정해 봅시다.

 

const myObject = {
  name: "John",
  age: 30,
  city: "New York"
};


이 객체를 JSON 문자열로 변환하려면 다음과 같이 코드를 작성할 수 있습니다.

 

const jsonString = JSON.stringify(myObject);


이제 jsonString 변수에는 다음과 같은 문자열이 저장됩니다.

 

{"name":"John","age":30,"city":"New York"}


JSON.stringify() 메서드는 두 번째 인수로 replacer 함수와 세 번째 인수로 space 값을 받을 수 있습니다. replacer 함수는 변환할 값을 원하는 대로 변환할 수 있습니다. space 인수는 들여쓰기를 설정합니다. 예를 들어, 들여쓰기가 2칸인 JSON 문자열을 생성하려면 다음과 같이 코드를 작성할 수 있습니다.

 

const jsonString = JSON.stringify(myObject, null, 2);


이제 jsonString 변수에는 다음과 같은 문자열이 저장됩니다.

 

{
  "name": "John",
  "age": 30,
  "city": "New York"
}


JSON.stringify() 메서드는 또한 toJSON() 메서드를 가진 객체에서 사용할 수 있습니다. toJSON() 메서드는 JSON.stringify() 메서드에 전달되는 객체의 대안으로 사용됩니다. 예를 들어, 다음과 같이 toJSON() 메서드를 가진 객체를 생성해 봅시다.

 

const myObject = {
  name: "John",
  age: 30,
  city: "New York",
  toJSON: function() {
    return {
      name: this.name,
      age: this.age
    };
  }
};


이제 이 객체를 JSON 문자열로 변환하면 toJSON() 메서드에 정의된 대로 변환됩니다.

 

const jsonString = JSON.stringify(myObject);


이제 jsonString 변수에는 다음과 같은 문자열이 저장됩니다.

 

{"name":"John","age":30}



이상으로 자바스크립트 객체를 JSON 문자열로 변환하는 방법에 대해서 설명해 드렸습니다.

댓글