JSON을 입력하고 포맷을 클릭하세요
도구 설명
JSON 포매터 정보
JSON 포매터는 압축되었거나 로그에서 복사한 JSON을 읽기 쉬운 중첩 구조로 정리하고, 파싱을 깨뜨리는 위치를 찾기 쉽게 해 줍니다.
이 도구는 포맷, 압축, 검증, 트리 탐색을 브라우저 안에서 실행하므로 API 응답, 설정 파일, 디버깅 payload 확인에 적합합니다.
JSON Formatter 사용 방법
- 입력 영역에 JSON을 붙여 넣거나 샘플로 출력 형태를 확인합니다.
- Format을 눌러 한 줄 JSON을 보기 좋게 펼치고, Minify로 전송용 공백을 제거합니다.
- 파싱에 실패하면 표시된 줄과 열부터 보고 쉼표, 따옴표, 괄호 짝을 확인합니다.
- 결과를 복사하거나 트리 보기로 깊게 중첩된 필드를 확인합니다.
실무 사용 사례
- 백엔드 또는 프론트엔드 연동을 디버깅하며 한 줄 API 응답을 펼칩니다.
- 커밋 전에 package.json, manifest, 목 데이터에 후행 쉼표가 있는지 확인합니다.
- 문자열 내용을 손으로 망가뜨리지 않고 요청 본문을 한 줄로 압축합니다.
- 운영 로그의 이스케이프된 JSON을 정리한 뒤 Text Diff로 다른 응답과 비교합니다.
JSON 문법과 흔한 오류
표준 JSON은 객체, 배열, 큰따옴표 문자열, 숫자, boolean, null만 허용합니다. 대부분의 오류는 JavaScript식 문법이 섞여 생깁니다.
- 후행 쉼표: 객체나 배열의 마지막 항목 뒤에는 쉼표를 둘 수 없습니다.
- 작은따옴표: JSON 문자열과 키는 큰따옴표를 사용해야 합니다.
- 따옴표 없는 key: {name:"dev"}는 JavaScript 객체 리터럴이지 JSON이 아닙니다.
- 주석: 표준 JSON은 // 또는 /* */ 주석을 지원하지 않습니다. 제거하거나 JSON5를 사용하세요.
JSON 포매터 자주 묻는 질문
- 내 JSON이 서버로 업로드되나요?
- 아니요. 포맷, 압축, 검증, 트리 탐색은 브라우저에서 로컬로 실행되며 wetool.site로 전송되지 않습니다.
- Format과 Minify의 차이는 무엇인가요?
- Format은 읽기 쉽게 들여쓰기와 줄바꿈을 추가합니다. Minify는 전송이나 한 줄 설정에 맞게 불필요한 공백을 제거합니다.
- 왜 JSON이 유효하지 않다고 나오나요?
- 대개 후행 쉼표, 작은따옴표, 따옴표 없는 키, 괄호 불일치, 로그에서 함께 복사된 추가 텍스트 때문입니다.
- 큰 JSON도 처리할 수 있나요?
- 가능합니다. 무거운 파싱 작업은 가능한 경우 Web Worker에서 처리해 큰 payload가 UI를 멈추지 않게 합니다.
- JSON5나 주석을 지원하나요?
- 이 도구는 표준 JSON을 검증합니다. 주석, 작은따옴표, 후행 쉼표 같은 JSON5 표기는 먼저 표준 JSON으로 바꾸세요.
브라우저 기반 JSON Formatter를 쓰는 이유
JSON에는 내부 API 데이터, 토큰, 로그, 사용자 정보가 들어갈 수 있습니다. 로컬 처리는 민감한 payload를 제3자 서버에 붙여 넣는 위험을 줄입니다.
엄격한 JSON 대 JSON5 마이그레이션 체크리스트
“JSON 정리 실패”로 보이는 입력의 상당수는 JavaScript 객체 또는 JSON5입니다. 운영 API, 설정 파일, 로그 필드는 보통 엄격한 JSON을 기대합니다.
- 작은따옴표 문자열을 큰따옴표로 바꾸고 모든 객체 키를 따옴표로 감쌉니다.
- 엄격한 JSON 파서를 쓰기 전에 후행 쉼표, // 주석, /* */ 주석을 제거합니다.
- NaN, Infinity, undefined, Date 객체, 함수는 유효한 JSON 값이 아니므로 문자열, 숫자, 불리언, null, 배열, 객체로 변환합니다.
대용량 JSON 디버깅 체크리스트
큰 API 응답과 로그 페이로드는 정리뿐 아니라 브라우저 멈춤과 실수로 인한 수정을 피하는 것도 중요합니다.
- 먼저 형식한 뒤 필드 이름를 검색하면 한 줄 JSON에서 중첩 경로를 찾는 것보다 안정적입니다.
- 두 응답을 비교하기 전에 같은 들여쓰기로 정리해 공백이나 한 줄로 압축된 구조가 diff를 흐리지 않게 합니다.
- JSON이 로그에서 왔다면 타임스탬프, 로그 레벨, 이스케이프 래퍼, 주변 텍스트를 제거하고 실제 JSON 조각만 남깁니다.