[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을 다룰 때는 이러한 기본적인 사항을 이해하고, 데이터의 변환과 예외 처리를 적절히 다루는 것이 중요합니다.

댓글

이 블로그의 인기 게시물

js 스트링에서 요소 갯수 세기

STUDY

javascript cheatsheet