오늘은 계속 사용하면서 정확히 알지않아 궁금했지만 찾아보지 못했던
JSON 에 대해 공부해 보았다.
JSON(JavaScript Object Notation) 은 텍스트 기반의 경량 데이터 교환 형식으로, 사람이 읽고 쓰기 쉬우면서 기계가 파싱하고 생성하기도 편리한 형식을 말한다. JSON은 다양한 프로그래밍 언어에서 지원되며, 주로 웹 개발에서 데이터 교환의 표준 형식으로 사용된다.
JSON 은 Javascript 객체 리터럴 문법을 따르는 문자열이다. JSON 안에는 마찬가지로 Javascript 의 기본 데이터 타입인 문자열, 숫자, 배열, 불리언 그리고 다른 객체를 포함할 수 있다.
1. JSON 문자열을 JavaScript 객체로 변환 (파싱):
JSON 형식의 문자열은 JSON.parse 함수를 사용하여 JavaScript 객체로 변환할 수 있다.
const jsonString = '{"name": "John", "age": 30}';
const person = JSON.parse(jsonString);
console.log(person.name); // 출력: John
console.log(person.age); // 출력: 30
2. JavaScript 객체를 JSON 문자열로 변환 (직렬화):
JavaScript 객체를 JSON 형식의 문자열로 변환할 때는 JSON.stringify 함수를 사용한다.
const person = {
name: "John",
age: 30,
city: "New York"
};
const jsonString = JSON.stringify(person);
console.log(jsonString);
// 출력: {"name":"John","age":30,"city":"New York"}
여기서 순환 참조는 객체 내에서 자기 자신을 참조하는 경우를 의미한다. 이것은 객체의 프로퍼티가 해당 객체 자체를 참조하는 경우를 말한다.
const person = { name: "John" };
person.self = person; // 순환 참조
// 이렇게 순환 참조가 있는 경우 에러 발생
const jsonString = JSON.stringify(person);
위의 코드에서 person 객체는 self 프로퍼티를 통해 자기 자신을 참조하고 있다. 이것은 일반적인 객체 참조가 아니라 객체가 직접적으로 자기 자신을 참조하는 상황이다.
❕ 이런 JSON 은 가독성이 뛰어나며 언어 독립적이고 키-값 쌍 구조를 가지며 데이터 교환에 이용되는 경량의 데이터 형식으로, 다양한 프로그래밍 언어에서 지원되고 확장 가능하며 웹에서 표준으로 사용된다.
평소에 궁금했지만 왜인지 알아보진 않았던 JSON 에 대해 공부해보면서 앞으로도 이런식으로 코딩을 하다가 궁금한게 생기면 바로바로 찾아보고 학습하는 습관을 가져야 겠다고 생각했다.