JSON(JavaScript Object Notation)은 데이터를 저장하고 전송하는 데 사용되는 경량 텍스트 기반 데이터 교환 형식입니다. 2001년 더글라스 크락포드(Douglas Crockford)가 표준화했으며, 현재 웹 개발에서 가장 널리 사용되는 데이터 형식입니다.
JSON은 사람이 읽고 쓰기 쉽고, 기계가 파싱하고 생성하기 쉬운 구조를 가지고 있습니다. JavaScript에서 유래했지만, 거의 모든 프로그래밍 언어에서 지원합니다. REST API, 설정 파일, NoSQL 데이터베이스(MongoDB 등) 등 다양한 곳에서 사용됩니다.
뚝딱공방의 JSON 포맷터는 JSON 데이터를 보기 좋게 정리하고, 문법 오류를 찾아주며, 트리 뷰로 구조를 시각화합니다. 모든 처리는 브라우저에서 이루어져 데이터가 외부로 전송되지 않습니다.
JSON은 두 가지 기본 구조로 이루어져 있습니다.
객체 (Object): 중괄호 {}로 감싸고, "키": 값 형태의 쌍을 쉼표로 구분합니다. {"name": "홍길동", "age": 30}
배열 (Array): 대괄호 []로 감싸고, 값을 쉼표로 구분합니다. ["사과", "바나나", "오렌지"]
지원하는 데이터 타입은 6가지입니다.
JSON을 작성할 때 반드시 지켜야 하는 규칙들입니다. 이 규칙을 어기면 파싱 에러가 발생합니다.
필수 규칙
올바른 예시 {"name": "홍길동", "age": 30}
잘못된 예시 {name: "홍길동", age: 30} → 키에 따옴표 없음 {'name': '홍길동'} → 작은따옴표 사용 {"name": "홍길동", "age": 30,} → trailing comma {"name": "홍길동" /* 이름 */} → 주석 사용
데이터 교환 형식으로 JSON 외에도 XML과 YAML이 있습니다. 각 형식의 특징을 비교합니다.
JSON
XML (eXtensible Markup Language)
YAML (YAML Ain't Markup Language)
현재 웹 API의 90% 이상이 JSON을 사용하며, 가장 범용적인 데이터 형식입니다.
JSON 데이터를 입력창에 붙여넣거나 직접 입력합니다.
도구 모음에서 원하는 기능을 선택합니다.
들여쓰기 단위를 선택합니다 (2칸 또는 4칸).
뷰 모드를 전환합니다.
문법 오류가 있으면 입력창 아래에 빨간색 에러 메시지가 표시됩니다.
가장 흔한 오류 5가지: (1) 마지막 항목 뒤의 쉼표(trailing comma), (2) 작은따옴표 사용(큰따옴표만 허용), (3) 키를 따옴표로 감싸지 않은 경우, (4) 주석 사용(JSON은 주석 미지원), (5) undefined 사용. 에러 메시지의 position 숫자를 확인하면 오류 위치를 빠르게 찾을 수 있습니다.
트리 뷰에서 화살표(▶/▼)를 클릭하면 해당 객체나 배열을 접거나 펼 수 있습니다. 기본적으로 2단계 깊이까지 펼쳐지며, 접힌 상태에서는 하위 항목 수가 표시됩니다. 대용량 JSON의 구조를 파악할 때 매우 유용합니다.
기능적 차이는 없으며 순전히 가독성 선호도의 차이입니다. 2칸은 파일 크기가 작고 중첩이 깊은 데이터에서 가로 스크롤이 적습니다. 4칸은 구조가 더 명확하게 보입니다. 일반적으로 웹 개발에서는 2칸, Java/Python 프로젝트에서는 4칸을 많이 사용합니다.
브라우저에서 처리하므로 일반적인 JSON 데이터(수 MB 이내)는 문제없이 처리됩니다. 다만 매우 큰 파일(수십 MB 이상)은 브라우저 메모리 제한에 의해 느려지거나 오류가 발생할 수 있습니다.
JSON 표준은 주석을 지원하지 않습니다. 설정 파일에서 주석이 필요하다면 JSON5, JSONC(VS Code 방식), 또는 YAML을 사용하는 것을 고려해보세요. TypeScript의 tsconfig.json은 JSONC 형식으로 주석을 허용합니다.
아닙니다. 모든 처리(파싱, 포맷팅, 검증)는 브라우저의 JavaScript 엔진에서 이루어집니다. 데이터가 서버로 전송되거나 저장되지 않으므로 민감한 데이터(API 키, 토큰 등)도 안심하고 사용할 수 있습니다.
이 계산기가 도움이 되었나요?
JSON 데이터를 입력하면 자동으로 포맷팅하고 검증합니다
JSON을 입력하면 결과가 표시됩니다
도구 공유하기