JSON이란 무엇인가? 데이터 구조의 핵심 정의

JSON은 JavaScript Object Notation의 약자로, 가벼운 텍스트 기반의 데이터 교환 형식이다. RFC 8259에 정의된 표준에 따라 프로그래밍 언어에 구애받지 않으며 사람이 읽기 쉬운 형태와 기계가 분석하기 쉬운 형태를 동시에 만족하도록 설계되었다. 구조화된 데이터를 서로 다른 시스템 사이에 전달할 때 마치 범용적인 번역기처럼 작동한다.

JSON은 내부적으로 어떻게 동작하고 구성되는가?

JSON 데이터 구조 예시json
{
  "name": "홍길동",
  "age": 30,
  "isDeveloper": true,
  "skills": ["JavaScript", "JSON"]
}

이름과 값의 쌍, 그리고 배열 형태로 구성된 전형적인 JSON 데이터 구조

JSON 데이터는 기본적으로 두 가지 구조가 있다. 이름과 값의 쌍으로 이루어진 객체 형태와 순서가 있는 리스트인 배열 형태다. 이 구조 안에는 문자열, 숫자, 불리언, 널, 객체, 배열 등 제한된 데이터 타입만 들어갈 수 있다. 시스템이 이 텍스트를 전달받으면 파서(Parser)를 통해 메모리 상의 객체로 변환하여 데이터를 읽고 쓴다.

왜 네트워크 전송과 포맷팅 과정이 분리되어 있는가?

미니파이 (압축 형태)
  • 불필요한 공백과 줄바꿈 제거
  • 전송 데이터 용량 감소
  • 네트워크 오버헤드 저하
  • 기계와 네트워크 전송에 적합
VS
포맷팅 (정렬 형태)
  • 들여쓰기와 줄바꿈 적용
  • 사람이 구조를 쉽게 파악
  • 개발자의 디버깅과 검증 용이
  • JSON 포맷터 도구 활용

기계 전송과 사람의 가독성을 각각 목적에 맞게 분리하여 사용함

기계와 네트워크는 공백과 들여쓰기가 없는 압축된 형태를 선호한다. 불필요한 공백과 줄바꿈을 제거한 미니파이 상태는 전송 데이터의 용량을 줄여 네트워크 오버헤드를 낮춘다. 반면 개발자는 구조를 파악하기 위해 들여쓰기가 적용된 형태가 필요하다. 이 간극을 메우기 위해 JSON 포맷터 & 뷰어 같은 도구를 사용해 압축된 데이터를 시각적으로 정렬하고 검증한다.

브라우저에서 직접 JSON 구조 확인하고 검증하기

실무에서는 API 응답으로 받은 수천 줄의 JSON 데이터에서 괄호가 누락되거나 잘못된 따옴표가 들어가는 문법 오류를 자주 마주한다. 에디터에 텍스트를 입력하면 실시간으로 에러 위치를 찾아내고, 컬러 하이라이팅으로 데이터 타입을 구별한다. 대용량 데이터도 JSON 포맷터 & 뷰어를 통해 별도의 프로그램 설치 없이 브라우저 안에서 안전하게 트리 구조로 펼쳐볼 수 있다.