무료 JSON 도구가 필요한 순간은 대체로 급합니다. API 응답이 한 줄로 뭉쳐서 도착했거나, 설정 파일에서 쉼표 하나가 빠져 배포가 멈췄거나, 동료가 보낸 데이터를 표로 바꿔야 하는 상황입니다. 이런 작업은 유료 IDE나 상용 도구 없이도 대부분 해결됩니다. 문제는 어떤 도구가 어떤 증상을 푸는지 구분하지 않고 검색 결과 첫 번째 페이지를 무작정 열어보는 데서 생깁니다.
무료 JSON 도구 5가지 유형과 쓰임새
JSON 관련 도구는 기능이 겹쳐 보이지만 실제로 해결하는 문제는 서로 다릅니다. 지금 겪고 있는 증상에 맞춰 고르면 시간을 크게 아낄 수 있습니다.
| 유형 | 해결하는 문제 | 대표 기능 |
|---|---|---|
| 포맷터 / 정렬기 | 한 줄로 압축된 데이터를 눈으로 읽을 수 없음 | 들여쓰기, 키 정렬, 압축(minify) |
| 검증기(Validator) | 파싱은 실패하는데 어디가 문제인지 모름 | 문법 검사, 오류 라인과 위치 표시 |
| 스키마 검증기 | 문법은 맞지만 구조나 타입이 규격과 다름 | JSON Schema 대조, 필수 필드 확인 |
| 변환기(Converter) | CSV, YAML, XML 등 다른 형식이 필요함 | 상호 변환, 표 형태 미리보기 |
| 비교기(Diff) | 두 응답의 차이를 눈으로 찾기 어려움 | 키 단위 차이 강조, 추가와 삭제 구분 |
1단계: 포맷팅과 키 정렬로 가독성 확보하기
서버가 보내는 응답은 용량을 줄이기 위해 공백을 모두 제거한 상태입니다. 이걸 그대로 읽으려 하면 중괄호의 짝을 세다가 시간을 다 씁니다. 포맷팅은 데이터의 내용을 바꾸지 않고 표현만 바꾸는 작업이므로 부담 없이 먼저 적용하면 됩니다.
- 들여쓰기를 2칸 또는 4칸으로 통일해 계층 구조를 드러냅니다.
- 키를 알파벳순으로 정렬하면 두 파일을 나란히 비교할 때 차이가 훨씬 빨리 보입니다.
- 배포용으로 되돌릴 때는 압축 기능으로 공백을 제거해 전송량을 줄입니다.
특히 팀에서 설정 파일을 함께 관리한다면 키 정렬 규칙을 정해두는 편이 좋습니다. 정렬 순서가 제각각이면 실제로는 값 하나만 바뀌었는데도 변경 이력에 수십 줄이 바뀐 것처럼 기록되기 때문입니다. 이런 정리 작업을 반복해야 한다면 JSON 정렬기처럼 브라우저에서 바로 처리되는 도구를 즐겨찾기에 두고 쓰면 편리합니다.
2단계: 문법 오류와 구조 오류를 구분하기
JSON 오류는 성격이 완전히 다른 두 가지로 나뉩니다. 문법 오류는 아예 파싱이 되지 않는 경우이고, 구조 오류는 파싱은 되지만 프로그램이 기대한 형태가 아닌 경우입니다. 전자는 검증기로, 후자는 스키마 검증으로 잡습니다.
실무에서 반복적으로 마주치는 문법 오류는 목록이 정해져 있습니다.
- 마지막 요소 뒤에 남은 쉼표(trailing comma)
- 문자열을 작은따옴표로 감싼 경우, 또는 키에 따옴표를 붙이지 않은 경우
NaN,Infinity,undefined같은 자바스크립트 전용 값- 문자열 안에서 이스케이프되지 않은 역슬래시나 줄바꿈
- 파일 앞에 붙은 UTF-8 BOM 때문에 첫 글자부터 오류가 나는 경우
구조 오류는 더 조용하게 문제를 일으킵니다. 숫자여야 할 필드가 문자열로 들어오거나, 선택 필드가 null로 오는 경우가 대표적입니다. 외부 API와 연동한다면 JSON Schema를 작성해두고 응답을 자동으로 대조하는 방식이 장기적으로 안전합니다.
3단계: CSV와 YAML로 변환할 때 데이터가 깨지는 지점
변환은 겉보기에 단순하지만 손실이 가장 많이 발생하는 단계입니다. JSON은 계층 구조와 타입을 표현할 수 있는 반면 CSV는 평평한 표이기 때문에, 정보를 어딘가에서 버리게 됩니다.
CSV로 내보낼 때 실제로 자주 깨지는 항목은 다음과 같습니다.
- 중첩된 객체는
user.address.city처럼 평탄화 규칙을 정해야 하고, 배열은 길이가 제각각이면 열 개수가 어긋납니다. - 우편번호나 전화번호처럼
0으로 시작하는 문자열이 스프레드시트에서 숫자로 인식되어 앞자리를 잃습니다. - 64비트 정수 ID가 부동소수점으로 처리되면서 마지막 자릿수가 어긋납니다.
- 값 안에 쉼표나 줄바꿈이 있으면 따옴표 처리 규칙에 따라 열이 밀립니다.
YAML은 들여쓰기에 의존하므로 탭과 공백이 섞이면 바로 실패합니다. 또한 예전 규격에서는 yes나 no가 참과 거짓으로 해석되기 때문에, 국가 코드 NO처럼 의도치 않은 값이 불리언으로 바뀌는 사고가 생깁니다. 이런 값은 따옴표로 감싸서 문자열임을 명시하는 편이 안전합니다.
무료 온라인 도구를 쓸 때 지켜야 할 보안 기준
온라인 도구는 설치가 필요 없다는 점이 장점이지만, 붙여넣는 순간 데이터가 어디로 가는지는 확인이 필요합니다. 판단 기준은 간단합니다. 처리 방식이 브라우저 내부인지 서버 전송인지를 보면 됩니다.
- 붙여넣기 전에 실명, 연락처, 주문 정보, 액세스 토큰, API 키가 포함되어 있는지 먼저 훑어봅니다.
- 브라우저 개발자 도구의 네트워크 탭을 열어둔 채 버튼을 눌러보면 데이터가 외부로 전송되는지 바로 확인할 수 있습니다.
- 주소창이 HTTPS인지, 결과를 공유 링크로 저장하는 기능이 기본으로 켜져 있지는 않은지 살핍니다.
- 고객 데이터나 운영 환경 설정은 온라인 도구 대신 로컬에서 처리합니다.
python -m json.tool data.json은 파이썬만 있으면 동작하고, jq . data.json은 정렬과 필터링까지 지원합니다. 민감한 데이터는 이 방식으로 처리하고, 공개해도 무방한 샘플만 온라인 도구에 올리는 습관을 들이면 사고를 크게 줄일 수 있습니다.정리하면 증상에 맞는 유형을 먼저 고르고, 포맷팅으로 가독성을 확보한 뒤, 문법과 구조를 나눠 검증하고, 변환 결과는 원본과 대조해 확인하는 순서입니다. 이 흐름만 익혀두면 대부분의 JSON 문제는 무료 도구만으로 정리됩니다.