[JavaScript] JSON 다루기
JSON을 JavaScript에서 다루는 것은 매우 일반적입니다. JSON(JavaScript Object Notation)은 JavaScript의 객체 표기법과 매우 유사하며, 데이터를 효과적으로 전달하고 저장하기 위한 경량의 데이터 형식입니다.
### JSON 다루기 기본
JSON은 문자열 형태로 표현됩니다. JavaScript에서는 다음과 같은 방법으로 JSON을 다룰 수 있습니다.
#### 1. JSON 파싱 (Parsing)
JSON 문자열을 JavaScript 객체로 변환하는 것을 '파싱'이라고 합니다.
```javascript
const jsonString = '{"name": "John", "age": 30}';
const obj = JSON.parse(jsonString);
console.log(obj.name); // "John"
console.log(obj.age); // 30
```
위 예제에서 `JSON.parse()` 함수는 JSON 문자열을 파싱하여 JavaScript 객체로 변환합니다.
#### 2. JavaScript 객체를 JSON 문자열로 변환하기 (Stringify)
JavaScript 객체를 JSON 문자열로 변환하는 것을 '직렬화'라고 합니다.
```javascript
const obj = { name: "John", age: 30 };
const jsonString = JSON.stringify(obj);
console.log(jsonString); // '{"name":"John","age":30}'
```
위 예제에서 `JSON.stringify()` 함수는 JavaScript 객체 `obj`를 JSON 형식의 문자열로 변환합니다.
### 예외 처리
JSON 파싱이나 직렬화 과정에서 발생할 수 있는 예외를 처리하는 것이 중요합니다. 예를 들어, 유효하지 않은 JSON 형식이나 변환할 수 없는 데이터가 주어졌을 경우에 대비해 적절한 예외 처리를 해주어야 합니다.
```javascript
const jsonString = '{"name": "John", "age": 30';
try {
const obj = JSON.parse(jsonString);
console.log(obj);
} catch (error) {
console.error('Invalid JSON string:', error);
}
```
### 주의사항
- JSON은 문자열 형태이기 때문에 함수나 undefined 같은 JavaScript의 특수 타입은 직렬화할 수 없습니다.
- 순환 참조가 있는 경우 직렬화할 수 없습니다.
JSON을 다룰 때는 이러한 기본적인 사항을 이해하고, 데이터의 변환과 예외 처리를 적절히 다루는 것이 중요합니다.
댓글
댓글 쓰기