🙋♀️ JSON이란?
JSON(JavaScript Object Notation)은 Javascript 문법으로 구조화된 데이터 교환형식이다. 즉, 데이터를 구조화된 형태로 표현하고, 주로 데이터 교환에 사용되는 형식이다. 이름처럼 JavaScript 객체의 문법을 따르지만, 다양한 프로그래밍 언어에서 사용될 수 있는 독립적인 형식이다.
📑 JSON의 구조
JSON은 주로 Key-Value 형식으로 이루어져있다. 여기서 Key는 중복될 수 없다. Value는 배열, 객체, 숫자, 문자열 등 다양한 형태가 가능하다. 예를 들어, 단순 배열도 JSON으로 표현할 수 있다. 또한 재귀적인 구조도 지원한다.
JSON 데이터 타입
JSON은 JavaScript 객체와 유사하지만, 몇 가지 차이점이 있다. 예를 들어, undefined와 메서드는 JSON에 포함되지 않는다. JSON에서 지원하는 타입은 다음과 같다.
- 숫자 (Number)
- 문자열 (String)
- 참/거짓 (Boolean)
- 배열 (Array)
- 객체 (Object)
- null
✔ JSON의 독립성
JSON은 프로그래밍 언어에 독립적이다. 즉, JavaScript, Python 등 여러 언어가 업데이트되더라도 JSON 형식 자체는 변하지 않는다. 하지만 각 언어에서 JSON 데이터를 활용하려면 해당 언어에 맞는 형태로 변환이 필요하다.
예를 들어!
- JavaScript : JSON 데이터를 사용하려면 JSON.parse()를 통해 JavaScript 객체로 변환해야한다.
- Python : json.loads()를 사용하여 JSON 데이터를 딕셔너리로 변환해 사용할 수 있다.
🔊 JSON의 직렬화와 역직렬화
직렬화는 데이터를 바이트 형태로 변환하여 외부 시스템에서 사용할 수 있도록 하는 과정이다. 반대로 역직렬화는 바이트 형태로 변화된 데이터를 다시 원래의 데이터 형태로 복원하는 과정을 의미한다.
- JSON.stringify() : 객체나 해시테이블, 딕셔너리 등을 JSON 문자열로 직렬화한다.
- JSON.parse() : JSON 문자열을 객체나 해시테이블, 딕셔너리 등으로 역직렬화한다.

'📚 CS > 그 외' 카테고리의 다른 글
| GitHub의 동작 원리, 작업 공간 (2) | 2024.11.02 |
|---|---|
| [JAVA] 클래스 vs 객체 vs 인스턴스, 무엇이 다를까? (0) | 2024.09.24 |
| [CS] 디자인 패턴 (3) - MVVM (0) | 2024.06.23 |
| [CS] 디자인 패턴 (2) - MVP (0) | 2024.06.07 |
| [CS] 디자인 패턴 (1) - MVC (0) | 2024.06.02 |