JSON

기술노트
Admin (토론 | 기여)님의 2025년 9월 6일 (토) 05:05 판 (Gemini 벌크 업로더로 자동 업로드)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

📄 JSON (JavaScript Object Notation)

JSON속성-값 쌍(attribute-value pairs) 또는 '키-값 쌍(key-value pairs)'으로 이루어진, 사람이 읽고 쓰기 쉬운 텍스트 기반의 데이터 교환 형식입니다. 이름에서 알 수 있듯이 본래 자바스크립트(JavaScript)의 객체 문법에서 파생되었지만, 현재는 특정 언어에 종속되지 않고 대부분의 프로그래밍 언어에서 사용할 수 있습니다.

웹 API에서 클라이언트와 서버가 데이터를 주고받을 때 가장 널리 사용되는 포맷입니다.


🧐 JSON의 기본 구조

JSON은 두 가지 기본 구조를 가집니다.

  • 객체 (Object) : 중괄호 `{}` 로 둘러싸인 키-값 쌍의 집합입니다. 키는 반드시 문자열(큰따옴표로 감싸야 함)이어야 합니다.

```json {

 "name": "홍길동",
 "age": 30,
 "isStudent": false

} ```

  • 배열 (Array) : 대괄호 `[]` 로 둘러싸인 값의 순서 있는 목록입니다.

```json ["사과", "바나나", "딸기"] ```

이 두 구조를 조합하여 복잡한 데이터를 표현할 수 있습니다.


🆚 XML과의 비교

구분 JSON XML
형식 키-값 쌍 기반 태그 기반
가독성 간결하고 사람이 읽기 편함 태그 때문에 상대적으로 복잡함
파싱 속도 일반적으로 더 빠르고 메모리 소모가 적음 상대적으로 느리고 무거움
확장성 스키마가 없어 자유롭지만, 데이터 유효성 검증이 어려움 DTD, XSD 등으로 엄격한 구조 정의 가능

💡 개발자 핵심 Point

  • JSON은 현대 웹 개발에서 데이터 교환의 표준과 같은 위치에 있습니다.
  • 대부분의 프로그래밍 언어는 JSON 문자열을 해당 언어의 객체나 자료구조로 변환(파싱, Parsing)하고, 그 반대로 변환(직렬화, Serialization)하는 라이브러리를 기본적으로 제공합니다.
  • RESTful API를 설계하고 사용할 때, 요청(Request)과 응답(Response)의 본문(Body)은 대부분 JSON 형식으로 이루어집니다.
  • 복잡한 설정 파일(Configuration)을 작성하는 데에도 널리 사용됩니다.