JSON (JavaScript Object Notation) 이해
JSON은 JavaScript 객체 표기법을 기반으로 하는 경량의 데이터 교환 형식입니다. 웹 개발에서는 서버와 클라이언트 간 데이터를 주고받을 때 널리 사용됩니다. JSON은 텍스트 형식이며, 언어 독립적이어서 다양한 프로그래밍 언어에서 쉽게 사용할 수 있습니다.
JSON 형식
JSON 데이터는 이름과 값의 쌍으로 구성됩니다. 이는 JavaScript의 객체 리터럴과 매우 유사하지만, 몇 가지 중요한 차이점이 있습니다:
- 모든 키는 반드시 큰따옴표("")로 감싸야 합니다.
- 문자열 값 또한 반드시 큰따옴표로 표현해야 합니다.
- 숫자, 불리언, 배열, 객체 등 다양한 데이터 타입을 지원합니다.
- null 값도 사용할 수 있습니다.
예제: JSON 데이터
{
"employee": {
"name": "John Smith",
"age": 30,
"isManager": false,
"skills": ["Java", "SQL", "Management"],
"department": {
"name": "Finance",
"location": "Building A"
}
}
}
이 JSON 예제는 "employee"라는 객체를 포함하고 있으며, 이 객체는 이름, 나이, 관리자 여부, 기술 목록, 그리고 부서 정보를 포함하고 있습니다.
객체 데이터 타입 지원
JSON은 자바스크립트의 객체와 유사하게 여러 종류의 데이터를 담을 수 있습니다. 객체 데이터 타입을 통해 내포된 구조를 만들 수 있으며, 이는 데이터 간의 계층적 관계를 표현하기 적합합니다.
객체 데이터 타입 예제
{
"book": {
"title": "JavaScript: The Good Parts",
"author": "Douglas Crockford",
"published": {
"year": 2008,
"publisher": "O'Reilly Media"
},
"details": {
"pages": 176,
"language": "English"
}
}
}
이 예제에서 book 객체 안에 published와 details라는 두 개의 객체가 더 들어 있습니다. 이렇게 JSON은 객체 안에 다른 객체를 포함시키는 것을 지원하며, 이를 통해 복잡한 데이터 구조를 만들고 관리할 수 있습니다.
JSON 파싱과 문자열화
JSON 파싱
JSON 데이터를 JavaScript에서 사용하려면 문자열 형태의 JSON을 객체로 파싱해야 합니다. JSON.parse() 함수를 사용하여 이 작업을 수행할 수 있습니다.
const jsonData = '{"name": "John Doe", "age": 30, "isStudent": false}';
const userObject = JSON.parse(jsonData);
console.log(userObject.name); // John Doe
console.log(userObject.age); // 30
console.log(userObject.isStudent); // false
JSON 문자열화
반대로, JavaScript 객체를 JSON 형식의 문자열로 변환하려면 JSON.stringify() 메서드를 사용합니다. 이 과정을 "문자열화(stringification)" 또는 "직렬화(serialization)"라고 합니다.
예제: JSON 문자열화
const userObject = {
name: "Jane Doe",
age: 25,
isStudent: true
};
const jsonString = JSON.stringify(userObject);
console.log(jsonString); // '{"name":"Jane Doe","age":25,"isStudent":true}'
이 예제들을 통해 JSON의 기본적인 사용 방법과 JavaScript에서의 처리 방법을 이해할 수 있습니다. JSON은 웹 API와의 통신, 설정 파일, 데이터 저장 등 다양한 용도로 사용됩니다. JSON을 효과적으로 사용하면 애플리케이션에서 데이터를 효율적으로 처리하고 관리할 수 있습니다. JSON은 웹 개발뿐만 아니라 많은 프로그래밍 환경에서 데이터를 쉽게 교환하고 관리하는 데 중요한 도구입니다.
'프로그래밍 > Node.js & JavaScript' 카테고리의 다른 글
처음 배우는 JavaScript 강의. 4주차: DOM 조작과 이벤트 (2) 요소 선택, 생성, 수정 (1) | 2024.05.03 |
---|---|
처음 배우는 JavaScript 강의. 4주차: DOM 조작과 이벤트 (1) DOM (Document Object Model) 기본 (3) | 2024.04.30 |
처음 배우는 JavaScript 강의. 3주차: 객체와 JSON (2) 메소드 정의와 this 키워드 (87) | 2024.04.29 |
처음 배우는 JavaScript 강의. 3주차: 객체와 JSON (1) 객체 리터럴과 프로퍼티 접근 (79) | 2024.04.29 |
처음 배우는 JavaScript 강의. 2주차: 함수와 배열 (3) 반복문 (for, while) (2) | 2024.04.29 |