#051 · 66편 중
JSON이 뭐야? 데이터 주고받는 표준 형식 5분 정리

JSON이 뭐야? 데이터 주고받는 표준 형식 5분 정리

AI API를 처음 호출해 보면 응답이 이런 모양으로 온다.

{
  "id": "msg_01ab...",
  "type": "message",
  "content": [{"type": "text", "text": "안녕하세요"}],
  "usage": {"input_tokens": 10, "output_tokens": 5}
}

이게 JSON이다. AI 시대에 들어 거의 모든 데이터 통신이 이 한 형식 위에서 일어난다.

JSON 개념을 설명하는 AI 통통 입문 가이드 이미지

JSON 한 줄 정의

**JSON(JavaScript Object Notation)**은 프로그램끼리 데이터를 주고받을 때 가장 많이 쓰는 텍스트 형식이다.

이름에 JavaScript가 들어가지만 이제는 모든 언어·모든 시스템에서 표준처럼 쓰인다. AI API, 자동화 도구, 설정 파일, 모바일 앱 통신까지 거의 모든 곳에 들어간다.

핵심 매력은 단순함이다. 사람도 읽을 수 있고, 기계가 파싱하기도 쉽다. 그 균형 때문에 90년대 후반부터 자리를 잡아 지금까지 자리를 지키고 있다.

중학생도 이해하는 비유

JSON을 이해하는 가장 쉬운 비유는 편지에 적힌 표 양식이다.

상자(객체)와 목록(배열) 두 가지로 거의 모든 정보를 표현할 수 있다.

{
  "이름": "토큰",
  "나이": 30,
  "직업": ["블로그 운영자", "AI 도구 사용자"],
  "도구": {
    "에디터": "Cursor",
    "AI": ["Claude", "ChatGPT"]
  }
}

이 작은 글에 한 사람의 정보가 다 담겼다. 상자 안에 또 상자, 목록 안에 또 상자를 넣을 수 있어서 복잡한 정보도 자연스럽게 표현된다.

또 한 가지 중요한 점. JSON은 텍스트다. 메모장이든 카톡이든 어디로든 그대로 복사·붙여넣기 가능하다. 이 단순함이 JSON의 가장 큰 강점이다.

JSON의 기본 규칙 6가지

처음 JSON을 본다면 이 6가지만 알면 거의 모든 JSON을 읽을 수 있다.

  1. 객체 { "키": 값 } — 중괄호로 감싸고 키:값 쌍
  2. 배열 [ 값, 값 ] — 대괄호로 감싸고 콤마로 구분
  3. 문자열 "hello" — 항상 큰따옴표 (작은따옴표 X)
  4. 숫자 42, 3.14 — 따옴표 없이
  5. 불리언 true, false — 소문자
  6. null null — 값이 없음을 의미

이 외에 콤마·콜론·따옴표 위치 정도만 신경 쓰면 된다. 형식 위반은 IDE·온라인 검증기가 즉시 잡아준다.

실제 사용 예시

예시 1: AI API 응답 ChatGPT·Claude API에 질문을 보내면 답변이 JSON으로 돌아온다. 사용자 코드는 그 JSON에서 답변 텍스트만 꺼내 화면에 보여준다.

예시 2: 자동화 워크플로 설정 ai-tong-tong의 publish-queue.json은 다음과 같이 슬롯별 글을 관리한다.

{
  "morning": ["cache", "chatgpt-tasks-..."],
  "lunch": ["cloud"],
  "evening": ["domain", "claude-code-vs-cursor-..."]
}

cron이 매일 시점에 이 JSON을 읽어 어떤 글을 발행할지 결정한다.

예시 3: package.json Node.js 프로젝트의 의존성 정보가 담긴 핵심 파일도 JSON이다.

예시 4: AI Function Calling LLM이 도구를 호출할 때 인자를 JSON으로 표현한다. JSON Schema로 함수 입력 형식을 미리 정의해 둔다.

AI API 응답 한 번 직접 읽어보기

Anthropic API 응답을 일부 단순화해 보자.

{
  "id": "msg_01XYZ",
  "model": "claude-sonnet-...",
  "content": [
    {"type": "text", "text": "안녕하세요, 무엇을 도와드릴까요?"}
  ],
  "stop_reason": "end_turn",
  "usage": {
    "input_tokens": 12,
    "output_tokens": 8
  }
}

여기서 사용자에게 보여줄 답변은 content[0].text 한 칸이다. 토큰 사용량은 usage.input_tokens, usage.output_tokens. 이 정도만 꺼낼 줄 알면 첫 API 호출 코드는 끝난다.

비슷한 용어와 차이

용어JSON과의 차이
YAML들여쓰기 기반 데이터 형식사람이 읽기 더 편함, 기계 파싱은 좀 더 까다로움
XML태그 기반 데이터 형식JSON 등장 전 표준, 더 무거움
CSV표 한 장 형식중첩 구조 표현 어려움
JSON SchemaJSON의 구조 정의JSON을 검증하는 별도 표준
JSONC주석 허용 JSON표준 JSON은 주석 X

따라서 “JSON = 무거운 형식”이 아니다. JSON은 가볍고 단순한 텍스트이고, 더 간결한 형식이 필요하면 YAML이나 CSV로 옮겨가기도 한다.

언제 JSON을 마주치나

  • AI API 응답·요청: 거의 항상 JSON
  • package.json·tsconfig.json: 개발 프로젝트 설정 파일
  • 자동화 큐 관리: ai-tong-tong의 publish-queue 같은 파일
  • Postman·Insomnia 같은 API 테스트 도구: 모든 응답이 JSON으로 표시
  • AI Function Calling: LLM이 함수 호출 시 인자를 JSON으로 표현

관련 용어

  • HTTP: JSON이 운반되는 통로. HTTP가 뭐야? 참고.
  • API: JSON으로 데이터를 주고받는 약속. API가 뭐야? 참고.
  • API 키: JSON 요청의 헤더에 실리는 비밀 문자열. API 키가 뭐야? 참고.
  • YAML: JSON과 비슷하지만 사람이 읽기 더 편한 형식. GitHub Actions 워크플로 등에서 사용.

JSON은 “프로그램끼리 데이터를 주고받는 표준 텍스트 형식”이다. 단순하고 가볍고, 사람도 어느 정도 읽을 수 있어서 AI 시대에 들어 거의 모든 통신의 뼈대가 됐다. 객체·배열·문자열·숫자·불리언·null 6가지만 이해하면 첫 JSON 읽기는 끝난다.


출처

#JSON#AI 용어#데이터 형식