JSON 포맷터 사용법 — 깨진 JSON 복구, 들여쓰기, 유효성 검사까지
😄 광고 덕분에 100% 무료
목차
서버에서 JSON을 받았는데 한 줄로 쫙 이어져서 도저히 구조가 안 보이는 상황. 혹은 따옴표 하나가 빠져서 Unexpected token 에러가 나는데 어디가 문제인지 모르겠는 순간. 이 글 하나면 해결됩니다.
온라인 JSON 포맷터를 검색하면 광고 가득한 사이트들이 나오지만, 대부분 들여쓰기만 해주는 수준입니다. 깨진 JSON 복구, 트리뷰 탐색, 민감한 데이터 안전 처리까지 한 번에 되는 도구를 찾기가 의외로 어렵습니다.
로그인 없이, 설치 없이, 브라우저 안에서 즉시 처리하세요.
JSON 포맷터가 필요한 순간
실무에서 JSON 포맷터를 꺼내는 전형적인 상황 3가지입니다.
1. API 응답이 한 줄로 압축돼 있을 때
서버 응답은 네트워크 비용을 아끼려고 공백 없이 보내는 경우가 많습니다.
{"user":{"id":42,"name":"홍길동","addresses":[{"city":"서울"},{"city":"부산"}]},"tokens":{"access":"eyJ..."}}
이걸 그대로 보면 구조가 보이지 않습니다. 포맷터에 붙여넣고 [Format] 버튼 한 번이면 끝납니다.
{
"user": {
"id": 42,
"name": "홍길동",
"addresses": [
{ "city": "서울" },
{ "city": "부산" }
]
},
"tokens": {
"access": "eyJ..."
}
}
2. JSON이 깨져서 파싱 에러가 날 때
Unexpected token · Unexpected end of JSON input 같은 에러는 대부분 다음 5가지 중 하나입니다.
- 따옴표 누락 — 문자열 시작·끝 따옴표가 한쪽만 있거나 전부 없음
- 쉼표 실수 — 마지막 요소 뒤에 쉼표가 붙어있음 (trailing comma)
- 작은따옴표 사용 — JSON은 반드시 큰따옴표(
")만 허용 - 주석 — 표준 JSON은
//,/* */주석을 지원하지 않음 - 키에 따옴표 없음 —
{name: "홍길동"}← 키도 큰따옴표로 감싸야 함
Lenient 모드가 있는 파서는 이런 실수를 받아서 복구해줍니다.
3. 깊은 계층에서 특정 값만 찾고 싶을 때
수백 줄짜리 JSON에서 user.addresses[1].city 같은 깊은 경로 하나만 필요한 경우, 트리뷰로 필요한 노드만 펼쳐보면 훨씬 빠릅니다.
iTool JSON 파서 사용법
/text/json-parser/ 열기 → 입력창에 JSON을 붙여넣으면 됩니다. 로그인 불필요.
핵심 기능 6가지
| 기능 | 용도 |
|---|---|
| Format | 보기 좋게 들여쓰기 |
| Minify | 공백 제거해 한 줄로 압축 |
| 들여쓰기 선택 | 2칸 / 4칸 / 탭 |
| Lenient 모드 | 깨진 JSON도 최대한 복구 (복구 부분 하이라이트) |
| 트리뷰 | +/− 버튼으로 접었다 펼치기 |
| 복사·다운로드 | 결과를 바로 붙여넣거나 .json 파일로 저장 |
샘플 JSON으로 테스트하기
기능이 궁금하다면 도구 페이지에서 [샘플] 버튼을 누르세요. 실제 API 응답과 유사한 샘플이 입력창에 채워지고, 포맷·Minify·트리뷰를 바로 시험해볼 수 있습니다.
자주 만나는 JSON 에러 5가지 — 복구 방법
브라우저·Node.js 버전에 따라 정확한 문구는 조금씩 다르지만, 유형은 아래 5가지에 대부분 들어맞습니다.
1. 마지막 쉼표 (trailing comma)
{
"name": "홍길동",
"age": 30,
}
마지막 "age": 30 뒤의 쉼표가 문제. JavaScript 객체 리터럴과 달리 JSON은 마지막 쉼표를 허용하지 않습니다. Lenient 모드에서는 자동 제거됩니다.
2. 작은따옴표
{'name': 'hong'}
JSON 표준은 큰따옴표만 허용합니다. Python dict 리터럴을 그대로 붙여넣을 때 흔한 실수.
{"name": "hong"}
3. None·True·False (파이썬 값 섞임)
파이썬·루비에서 복사해온 데이터에서 자주 나타납니다.
{"value": None, "active": True}
JSON은 null·true·false만 허용(모두 소문자). Lenient 모드는 None·True·False·undefined를 JSON 표준 값으로 자동 변환합니다.
4. 주석
{
"debug": true, // 로컬에서만 true
"port": 8080
}
JSON은 //·/* */ 주석을 지원하지 않습니다. VSCode 설정 파일에서 쓰는 JSONC(주석 허용 JSON) 규격을 쓰거나, Lenient 모드로 주석을 제거하세요.
5. 닫기 괄호 누락
{"items": [{"id": 1}, {"id": 2}
대괄호 ]와 중괄호 }가 닫히지 않았습니다. 긴 JSON에서는 눈으로 찾기 어려운데, 포맷터에 넣으면 어디서 끊겼는지 에러 위치가 바로 표시됩니다.
실무 팁 3가지
1. 민감한 JSON은 브라우저 내에서만 처리되는 도구를 쓰세요
API 키, 토큰, 개인정보가 포함된 JSON을 함부로 외부 사이트에 붙여넣으면 위험합니다. iTool JSON 파서는 100% 브라우저 JavaScript로 동작하며, 입력한 JSON 데이터는 서버로 전송되지 않습니다.
2. 팀 컨벤션에 맞는 들여쓰기 고정
- JavaScript·TypeScript 생태계: 2칸이 기본 (Prettier 기본값)
- Python·Go 커뮤니티: 4칸 선호
- 레거시 시스템·Make 파일 연관: 탭
프로젝트 포맷터 설정에 맞춰서 포맷팅한 뒤 커밋하면 git diff가 깨끗합니다.
3. API 요청 바디용은 Minify
Postman·curl의 --data에 JSON을 넣을 때는 한 줄이 편합니다. Minify로 압축하면 특수문자 이스케이프 실수를 줄일 수 있습니다.
자주 묻는 질문
JSON 포맷터는 왜 필요한가요?
서버 API에서 받은 JSON은 보통 공백 없이 한 줄로 압축돼 있어 사람이 읽기 어렵습니다. 포맷터는 들여쓰기를 적용해 구조를 한눈에 파악할 수 있게 해주고, 유효성 검사로 쉼표·따옴표 누락 같은 실수를 잡아줍니다.
JSON이 깨졌는데 복구할 수 있나요?
네. iTool JSON 파서의 Lenient 모드는 따옴표 누락, 마지막 쉼표(trailing comma), 주석 등 표준 JSON에서 허용하지 않는 문법도 받아서 최대한 복구합니다. 복구된 부분은 하이라이트로 표시되어 어디가 수정됐는지 확인할 수 있습니다.
JSON 들여쓰기는 몇 칸이 표준인가요?
공식 표준은 없지만 실무에서는 2칸 또는 4칸이 일반적입니다. 탭 문자도 가능합니다. iTool 파서에서는 2·4·탭 중 선택할 수 있고, 팀 컨벤션에 맞추면 됩니다.
JSON.stringify와 온라인 포맷터는 뭐가 다른가요?
JSON.stringify는 코드에서 쓸 때 편하지만 깨진 JSON은 파싱 단계에서 바로 예외가 납니다. 온라인 포맷터는 텍스트를 직접 붙여넣고 즉시 결과를 확인할 수 있고, Lenient 모드까지 쓰면 잘못된 JSON도 구조 파악이 가능합니다.
민감한 JSON을 붙여넣어도 안전한가요?
iTool JSON 파서는 100% 브라우저 내에서 동작합니다. 서버로 전송되지 않기 때문에 API 키·개인정보가 포함된 JSON도 외부로 유출되지 않습니다.
JSON을 한 줄로 압축하려면 어떻게 하나요?
Minify 버튼을 누르면 모든 공백과 줄바꿈이 제거되어 한 줄로 압축됩니다. API 요청 바디나 환경 변수에 JSON을 넣어야 할 때 유용합니다.
트리뷰는 언제 쓰나요?
계층이 깊거나 배열이 많은 JSON에서 특정 경로의 값만 보고 싶을 때 유용합니다. +/− 버튼으로 노드를 접었다 펼칠 수 있어서 수백 라인짜리 응답도 필요한 부분만 골라서 볼 수 있습니다.
관련 추천도구
JSON·JSONL 파서 / 포맷터
JSON과 JSONL을 실시간으로 파싱하고 보기 좋게 들여쓰거나 한 줄로 압축하는 무료 온라인 JSON 파서. JSONL(JSON Lines) 파일 자동 인식, 에러 위치 표시, 문법 하이라이트, 복사 지원.
YAML ↔ JSON ↔ TOML 변환기
YAML, JSON, TOML을 실시간으로 3방향 변환. Kubernetes·Docker Compose·GitHub Actions 스마트 검증과 YAML 함정(Norway 문제·8진수 등) 경고까지. 무료 온라인 도구.
XML 파서 / 포맷터
XML을 실시간 검증, 보기 좋게 들여쓰기, 접기/펼치기 트리뷰로 탐색. 속성·텍스트·CDATA·주석 구분 하이라이트. 브라우저에서 처리되는 무료 온라인 XML 파서.
JSON ↔ XML 변환기
JSON과 XML을 실시간 양방향 변환. 속성 접두사, 텍스트 노드 키 등 변환 규칙을 옵션으로 조정 가능. 브라우저에서 처리되는 무료 온라인 변환기.
텍스트 비교
텍스트 비교 — 두 문서의 차이점을 색상으로 한눈에 보여줍니다. 코드, 계약서, 문서 수정사항 확인에 유용.
글자수 세기
글자수 세기 — 글자수, 단어수, 바이트를 실시간으로 계산합니다. 자소서, 블로그 글자수 제한 확인에 유용. 무료.
관련 글
법인 도장·사업자 명판 만들기 무료 - 전자계약용 투명 PNG 직접 제작
비대면 전자계약에 쓰는 법인 직인(법인도장)과 사업자 명판 이미지를 무료로 직접 만드는 법. 회사명만 입력하면 투명 PNG로 즉시 생성, 명판에 직인 합성까지. 설치·로그인 불필요.
도장 누끼 포토샵 없이! 실물 도장 사진을 무료 투명 PNG로 만들기
포토샵 없이 브라우저에서 무료로 도장 누끼 따는 법. 흰 종이에 찍은 실물 도장을 사진으로 올리면 배경을 투명하게 빼고 도장만 PNG로 저장합니다. 인감·법인도장 스캔, 자동 크롭, 로그인 불필요.
아이폰 사진에 날짜가 안 나와요? 필름카메라처럼 사진에 날짜 넣는 법
아이폰·갤럭시 사진에 촬영 날짜가 안 나오나요? 이미 찍은 사진에 옛날 필름카메라처럼 날짜와 시간을 넣는 법을 알려드려요. 설치 없이 브라우저에서 촬영일자를 자동으로 읽어 1분이면 끝납니다.
😄 광고 덕분에 100% 무료