Node.js/JavaScript

[node.js 메서드] JSON.parse() ↔ JSON.stringify()

왈왈디 2023. 3. 17. 17:07
728x90

JSON.parse() 

: JSON → JavaScript

 

JSON.parse() 메소드는 JSON 형식의 문자열을 JavaScript 객체로 변환하는 함수입니다.

이 메소드는 JSON 문자열을 인수로 받아서, 그 문자열을 파싱하여 JavaScript 객체를 반환합니다.

예를 들어, 다음과 같은 JSON 문자열이 있다고 가정해봅시다.

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

이 JSON 문자열을 JavaScript 객체로 변환하려면 다음과 같이 JSON.parse() 메소드를 사용할 수 있습니다.

const jsonString = '{"name":"John","age":30,"city":"New York"}';
const obj = JSON.parse(jsonString);

console.log(obj.name); // 출력 결과: "John"
console.log(obj.age); // 출력 결과: 30
console.log(obj.city); // 출력 결과: "New York"

JSON.parse() 메소드는 인수로 받은 문자열이 올바른 JSON 형식이 아닐 경우 SyntaxError 예외를 발생시킵니다.

따라서 JSON.parse() 메소드를 사용할 때는 항상 올바른 JSON 형식의 문자열을 인수로 전달해야 합니다.


JSON.stringify() 

: JavaScript → JSON

 

JSON.stringify() 메소드는 JavaScript 객체나 배열을 JSON 형식의 문자열로 변환하는 함수입니다. 이 메소드는 JSON.stringify() 메소드를 호출할 때 전달된 객체나 배열을 직렬화하여 JSON 문자열로 반환합니다.

예를 들어, 다음과 같은 JavaScript 객체가 있다고 가정해봅시다.

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

이 객체를 JSON 문자열로 변환하려면 다음과 같이 JSON.stringify() 메소드를 사용할 수 있습니다.

const jsonString = JSON.stringify(obj);

console.log(jsonString); // 출력 결과: '{"name":"John","age":30,"city":"New York"}'

JSON.stringify() 메소드는 선택적으로 두 번째 인수를 받아서, JSON 문자열을 포맷팅하거나 필터링하는 데 사용할 수 있습니다.

예를 들어, 들여쓰기를 적용하려면 두 번째 인수로 공백 문자열을 전달할 수 있습니다.

const obj = { name: "John", age: 30, city: "New York" };
const jsonString = JSON.stringify(obj, null, 2);

console.log(jsonString);
// 출력 결과:
// "{
//   "name": "John",
//   "age": 30,
//   "city": "New York"
// }"

JSON.stringify() 메소드는 객체에 순환 참조가 있는 경우 TypeError 예외를 발생시킵니다.

따라서 순환 참조를 가진 객체를 JSON 문자열로 직렬화할 때는 주의해야 합니다.

 

출처: chatGPT


JSON.parse(JSON.stringify())

: 서로 상쇄 작용하는 메서드를 사용하여, object 사용 시 오류 최소화 하기 위해 사용

728x90

'Node.js > JavaScript' 카테고리의 다른 글

[js 문법] for of 반복문  (0) 2023.03.17
[키워드 정리] 이터러블 객체 (iterable object)  (1) 2023.03.17
[js 메서드] 배열.splice()  (0) 2023.03.17
[js 메서드] 배열.forEach()  (0) 2023.03.16
[js 메서드] string.trim()  (0) 2023.03.16