JSON (JavaScript Object Notation)

기술노트

JSON (JavaScript Object Notation)

비유로 쉽게 이해하기

JSON은 **'전 세계 공용 양식'**과 같습니다. 서로 다른 나라 사람들이 소통할 때 영어라는 공용어를 쓰듯, 서로 다른 프로그램들이 데이터를 주고받을 때 '이런 형식으로 정리해서 주자'고 약속한 표준 양식입니다. 간단하고 명확해서 누구나(어떤 프로그램이든) 쉽게 이해할 수 있습니다.

개요

JavaScript Object Notation (JSON)은 사람이 읽고 쓰기 쉬우며, 기계가 파싱하고 생성하기에도 용이한 경량의 데이터 교환 형식입니다. 특정 언어에 종속되지 않아, 현대 웹과 애플리케이션에서 데이터를 주고받는 사실상의 표준으로 사용됩니다.

상세 설명

JSON은 `key: value` 쌍으로 이루어진 데이터의 집합입니다. 예를 들어, 사람의 정보를 `{ "이름": "홍길동", "나이": 30, "도시": "서울" }`과 같이 표현합니다. 이런 구조는 JavaScript의 객체(Object) 문법에서 유래했지만, 지금은 Python, Java, C# 등 거의 모든 프로그래밍 언어에서 쉽게 사용할 수 있습니다.

과거에는 XML이라는 다소 복잡한 형식이 많이 쓰였지만, JSON은 그보다 훨씬 간결하고 가벼워 네트워크 전송에 유리합니다. 이로 인해 웹 애플리케이션이 서버와 통신하는 REST API에서 가장 선호되는 데이터 형식이 되었습니다.

왜 중요할까요?

  • 상호운용성: 거의 모든 언어와 플랫폼에서 지원하므로, 서로 다른 시스템 간에 데이터를 원활하게 교환할 수 있습니다.
  • 가독성: 사람이 눈으로 보고 이해하기 쉬운 구조로 되어 있어 개발과 디버깅이 편리합니다.
  • 효율성: XML 등 다른 형식에 비해 데이터의 크기가 작아 네트워크 비용과 처리 시간을 절약할 수 있습니다.

주요 특징

  • 키-값 쌍(Key-Value Pair): 모든 데이터는 키와 값으로 구성됩니다.
  • 다양한 데이터 타입 지원: 문자열(string), 숫자(number), 객체(object), 배열(array), 불리언(boolean), null을 지원합니다.
  • 언어 독립적: 특정 프로그래밍 언어에 얽매이지 않습니다.
  • 간결한 문법: 태그를 사용하는 XML보다 훨씬 구조가 간단합니다.

사용 사례

  • REST API의 요청 및 응답 데이터 형식
  • 프로그램의 설정 정보를 담은 파일 (Configuration files)
  • NoSQL 데이터베이스(DynamoDB 등)의 문서 저장 형식
  • 웹 페이지와 서버 간의 비동기 통신(AJAX)

관련 서비스/용어

참고 자료