Skip to content
DocsAll
教程

JSON 포맷팅 가이드: 검증, 압축과 미화

Timi Tian · 게시일 2026년 6월 30일 · 수정일 2026년 7월 12일
JSON포맷팅데이터 형식

JSON이란 무엇인가

JSON(JavaScript Object Notation)은 경량 데이터 교환 형식입니다. 프론트엔드와 백엔드 통신, 설정 파일, API 응답에 모두 JSON을 사용합니다. 구조가 명확하고 사람이 읽을 수 있으며 기계가 파싱할 수 있어 현대 개발의 사실상 표준입니다.

JSON 구문 규칙

데이터 유형

  • 문자열: 큰따옴표로 감싸기, 예: "hello"
  • 숫자: 정수 또는 부동소수점, 예: 42, 3.14
  • 불리언: true 또는 false
  • 널값: null
  • 배열: 대괄호로 감싸기, 예: [1, 2, 3]
  • 객체: 중괄호로 감싸기, 키-값 쌍, 예: {"name": "Tom"}
  • 중첩: 객체와 배열은 서로 중첩 가능

기본 규칙

  • 키는 반드시 큰따옴표 사용(작은따옴표 안 됨)
  • 문자열은 반드시 큰따옴표 사용
  • 후행 쉼표 불가(마지막 원소 뒤에 쉼표 불가)
  • 주석 불가
  • 최상위는 객체 또는 배열만 가능

포맷팅의 세 가지 요구

검증

JSON 구문이 올바른지 검사합니다. 쉼표 하나 부족, 쉼표 하나 초과, 따옴표 불일치 모두 파싱 실패를 초래합니다.

미화(Pretty Print)

한 줄로 압축된 JSON을 들여쓰기가 있는 여러 줄 형식으로 펼쳐 사람이 읽기 쉽게 합니다.

압축 형태:

{"name":"Tom","age":20,"tags":["a","b"]}

미화 후:

{
  "name": "Tom",
  "age": 20,
  "tags": ["a", "b"]
}

압축(Minify)

미화 형식에서 모든 공백과 줄바꿈을 제거하고 한 줄로 압축하여 크기를 줄입니다. 전송과 저장에 사용합니다.

흔한 JSON 오류

따옴표 오류

  • 작은따옴표 사용: JSON은 큰따옴표만 허용
  • 따옴표 닫기 누락
  • 키명에 따옴표 누락

오류: {'name': 'Tom'}(작은따옴표) 정상: {"name": "Tom"}

쉼표 오류

  • 후행 쉼표: 마지막 원소 뒤에 쉼표가 있음
  • 쉼표 누락: 원소 사이에 쉼표 빠짐

오류: {"a": 1, "b": 2,}(후행 쉼표) 정상: {"a": 1, "b": 2}

데이터 유형 오류

  • undefined 사용(JSON에는 undefined 없음, null 사용)
  • NaN / Infinity 사용(JSON 미지원)
  • 함수, Date 객체는 직접 직렬화 불가

이스케이프 오류

문자열 내 특수 문자는 이스케이프해야 합니다:

  • 따옴표: "
  • 역슬래시: \
  • 줄바꿈: \n
  • 탭: \t
  • 캐리지 리턴: \r

오류: "He said "hello""(따옴표 미이스케이프) 정상: "He said "hello""

인코딩 오류

JSON은 반드시 UTF-8 인코딩을 사용해야 합니다. 다른 인코딩은 한글 깨짐이나 파싱 실패를 초래할 수 있습니다.

중첩과 계층

중첩 예시

{
  "user": {
    "name": "Tom",
    "address": {
      "city": "베이징",
      "zip": "100000"
    }
  },
  "orders": [
    {"id": 1, "items": ["A", "B"]},
    {"id": 2, "items": ["C"]}
  ]
}

들여쓰기

  • 2공백 들여쓰기: 가장 많이 사용
  • 4공백 들여쓰기: 더 여유로움
  • Tab 들여쓰기: 일부 팀 사용

미화 시 들여쓰기 스타일을 통일하세요.

깊은 중첩

5계층 이상 중첩은 읽기 어렵습니다. 구조를 평탄화하거나 분할을 고려하세요.

JSON과 다른 형식

JSON vs JSONL

  • JSON: 전체 파일이 하나의 JSON(보통 객체 또는 배열)
  • JSONL(JSON Lines): 한 줄에 하나의 독립 JSON, 로그와 스트리밍 데이터에 적합

JSON vs JSON5

JSON5는 JSON의 상위 집합으로 지원합니다:

  • 작은따옴표
  • 후행 쉼표
  • 주석
  • 16진수 숫자

하지만 JSON5는 표준 JSON이 아니며 파서 호환성이 제한적입니다.

JSON vs YAML

  • JSON: 엄격한 구문, 기계 친화적
  • YAML: 느슨한 구문(주석 지원, 들여쓰기로 계층 표시), 사람 친화적
  • 설정 파일은 YAML, API 전송은 JSON이 자주 사용됩니다

JSON vs XML

  • JSON: 경량, 태그 오버헤드 없음
  • XML: 태그가 장황하지만 속성과 네임스페이스 지원
  • 현대 개발에서 JSON이 XML을 기본적으로 대체했습니다

실용 팁

JSON 복사

API 응답이나 로그에서 JSON을 복사해 포맷팅 도구에 붙여 넣어 미화하면 읽기 쉽습니다.

JSON 디버깅

인터페이스가 오류를 반환하면 응답 JSON을 포맷팅한 후 필드가 올바른지 검사합니다.

설정 파일

설정 파일을 JSON으로 작성하고 포맷팅 후 각 필드 의미를 주석으로 표시합니다(표준 JSON은 주석 미지원, JSONC나 별도 문서 사용).

데이터 변환

CSV를 JSON으로, XML을 JSON으로 변환하는 등의 시나리오에서 변환 후 포맷팅하여 결과를 검증합니다.

CSV to JSON 도구로 표 형식 데이터를 JSON으로 원클릭 변환하세요.

포맷팅 도구 사용법

검증

JSON을 붙여 넣으면 도구가 구문을 검사합니다. 오류가 있으면 위치와 원인을 알려줍니다.

미화

압축 JSON을 붙여 넣고 들여쓰기를 선택한 뒤 미화를 클릭하면 여러 줄 형식으로 출력됩니다.

압축

미화 JSON을 붙여 넣고 압축을 클릭하면 한 줄로 출력됩니다.

이스케이프

JSON 문자열 내 특수 문자를 이스케이프하거나 역으로 복원합니다.

DocsAll로 JSON 처리

JSON은 인코딩과 변환을 수반하므로 관련 도구를 사용할 수 있습니다:

브라우저에서 처리되며 데이터는 업로드되지 않습니다.

자주 묻는 질문

미화 후 한글이 \uXXXX로 변함

일부 도구는 기본적으로 한글을 이스케이프합니다. 한글 원문을 표시하려면 Unicode 이스케이프 옵션을 끄세요.

큰 JSON이 버벅거림

초대형 JSON(수 MB) 포맷팅 시 버벅거릴 수 있습니다. 명령행 도구(예: jq)로 처리하면 더 효율적입니다.

주석은 어떡하나요

표준 JSON은 주석을 지원하지 않습니다. 주석이 필요하면 JSONC, JSON5 또는 YAML을 사용하세요.

요약

JSON 포맷팅의 핵심은 세 가지입니다: 구문 검증, 가독성 미화, 전송 압축. 흔한 오류는 따옴표, 쉼표, 이스케이프입니다. JSON 처리는 DocsAll 인코딩 디코딩 도구CSV to JSON 도구를 사용하며 브라우저에서 실행되어 데이터가 외부로 전송되지 않습니다.

T
Timi Tian 创始人 / 全栈工程师

DocsAll 创始人,10 年全栈开发经验,专注浏览器端文档处理技术与隐私保护架构。前新加坡科技公司技术负责人。