JSON 포맷터 & Diff
JSON/JSONC를 브라우저에서 정리·압축·비교하고 YAML로 변환합니다.
이 도구에 대해
Format 모드는 JSON을 신택스 하이라이팅과 함께 정리(pretty-print)하거나 압축(minify)하고, YAML로 출력할 수도 있어 설정 파일을 포맷 간 옮길 때 유용합니다. 입력은 JSONC를 허용해서 주석과 trailing comma가 파싱 전에 제거되므로 tsconfig.json이나 VS Code 설정을 그대로 붙여넣을 수 있습니다.
Diff 모드는 두 문서를 구조적으로 비교합니다. 양쪽을 파싱한 뒤 값 단위로 비교하므로 키 순서, 공백, 주석 차이는 변경으로 잡히지 않으며, 각 변경은 JSONPath 스타일 경로와 함께 표시됩니다.
자주 묻는 질문
JSONC가 무엇인가요?+
JSON with Comments — 표준 JSON에 //, /* */ 주석과 trailing comma를 허용한 형식입니다. tsconfig.json, VS Code 설정 등이 사용합니다. 엄격한 JSON.parse는 거부하지만 이 도구는 확장 문법을 먼저 제거합니다.
구조적 diff는 텍스트 diff와 어떻게 다른가요?+
텍스트 diff는 줄 단위 비교라 키 순서가 바뀌거나 들여쓰기만 달라져도 전부 변경으로 보입니다. 구조적 diff는 파싱된 데이터를 비교하므로 실제 값 변경만 보고합니다. 설정 파일이나 API 응답 비교에는 보통 이쪽이 원하는 동작입니다.
내 JSON이 서버로 전송되나요?+
아니요. 파싱, 포맷, 변환, 비교 모두 브라우저에서 실행됩니다. 입력은 새로고침 후에도 유지되도록 본인 브라우저의 localStorage에만 저장됩니다.
YAML로 변환하면 잃는 게 있나요?+
데이터 자체는 무손실로 변환되지만 JSONC 주석은 파싱 단계에서 제거되어 사라집니다. 'no'나 '012' 같은 문자열을 다시 해석하는 YAML 소비자도 있으니 애매하면 따옴표로 감싸세요.
로그에서 복사한 이스케이프된 JSON도 붙여넣을 수 있나요?+
네. {\"a\":1}처럼 따옴표가 이스케이프된 입력(바깥 따옴표 유무와 무관)은 자동으로 복구합니다. "중첩 JSON 펼치기"를 켜면 문자열 값 안에 박힌 JSON — SQS 메시지 body, event.body, 에러 로그의 문자열화된 payload — 까지 재귀적으로 풀어 원래 구조로 보여줍니다.