JSON 포매터
JSON 포맷, 최소화 및 구문 강조 유효성 검사
입력
출력
JSON 포매터란?
JSON(JavaScript Object Notation)은 웹에서 가장 널리 사용되는 데이터 교환 형식입니다. API가 반환하고, 설정 파일이 사용하며, 데이터베이스가 저장합니다. 그리고 뭔가 잘못되거나 이상해 보일 때, 실제로 데이터를 읽어야 합니다. JSON 사양은 의도적으로 최소화를 유지하는데, 기계에는 좋지만 중첩된 API 응답을 디버깅할 때는 꽤 불편합니다. JSON 포매터가 이를 해결합니다. 원시 또는 최소화된 JSON에 들여쓰기와 줄 바꿈을 추가하여 구조를 즉시 파악할 수 있게 합니다.
이 도구는 브라우저에서 완전히 실행됩니다. JSON이 2칸 들여쓰기로 JSON.stringify()를 통해 처리되고 결과가 출력 패널에 표시됩니다. 서버로 전송되는 데이터가 없으므로 프로덕션 데이터, 토큰 또는 외부로 나가지 않기를 원하는 모든 것을 안전하게 사용할 수 있습니다.
JSON 포매팅 예제
포매터가 하는 일의 몇 가지 예제입니다. 최소화되거나 압축된 JSON은 읽기 어렵습니다. 포매팅하면 구조를 한눈에 파악할 수 있습니다.
예제 1: 구독자 레코드
최소화된 입력 (한 줄):
포매팅된 출력:
예제 2: 통화 레코드
최소화된 입력:
포매팅된 출력:
위의 샘플 버튼을 클릭하여 편집기에 기성 예제(모바일 요금제 데이터)를 로드하고 포매터가 실제로 동작하는 것을 확인하세요.
이 도구 사용 방법
붙여넣기 또는 업로드
JSON을 복사하여 왼쪽 편집기에 붙여넣으세요. 업로드를 클릭하여 컴퓨터에서 .json 또는 .txt 파일을 로드할 수도 있습니다. 샘플 버튼은 테스트하려는 경우 예제 데이터를 로드합니다.
출력 확인
오른쪽 패널이 입력하는 동안 자동으로 업데이트됩니다. 유효한 JSON은 RFC 8259에 따라 적절한 들여쓰기로 포매팅됩니다. 구문 오류(누락된 괄호, 후행 쉼표, 따옴표 없는 키)가 있으면 대신 오류 메시지가 표시됩니다.
복사, 다운로드 또는 최소화
복사를 사용하여 결과를 클립보드에 넣거나, 다운로드를 사용하여 파일로 저장하거나, 최소화를 사용하여 모든 공백을 제거하고 압축된 한 줄 버전을 얻으세요.
포매터 작동 방식
두 편집기 모두 구문 강조, 줄 번호 및 JSON 특정 오류 마커를 제공하는 내장 코드 편집기를 사용합니다. 입력 패널에 JSON을 붙여넣거나 입력하면 도구가 300ms 기다렸다가(키 입력 중 파싱을 방지하기 위해) 입력에 대해 JSON.parse()를 실행합니다. 파싱이 성공하면 JSON.stringify(data, null, 2)를 호출하고 결과를 표시합니다. 파싱이 실패하면 출력에 오류가 표시됩니다.
참고: JSON은 주석을 지원하지 않습니다. 이것은 이 도구의 제한이 아니라 사양 자체에 정의되어 있습니다. VS Code의 settings.json과 같은 파일은 다른 형식인 JSONC(주석이 있는 JSON)를 사용합니다. 파일에 주석이 있으면 포매팅 전에 제거해야 합니다.
JSON 포매팅이 도움이 되는 곳
대부분의 개발자는 API 응답을 읽을 때 포매터가 필요합니다. Postman 또는 curl을 통해 요청을 보내면 응답이 단일 압축 줄로 반환됩니다. 여기에 붙여넣으면 중첩된 객체와 배열이 즉시 보입니다. 대용량 응답에서 특정 값을 추출하려면 명령줄에서 jq가 잘 작동합니다.
설정 파일도 또 다른 일반적인 경우입니다. 일관성 없는 들여쓰기가 있는 package.json 또는 tsconfig.json은 풀 요청에서 검토하기 어렵습니다. 여기서 포매팅하면 다시 붙여넣을 수 있는 일관된 버전을 얻을 수 있습니다. 두 설정 파일을 결합해야 하는 경우 JSON 병합 도구가 있습니다.
MongoDB, Firestore 또는 CouchDB의 데이터베이스 내보내기는 일반적으로 포매팅이 없는 큰 JSON 블록입니다. 여기서 실행하면 가져오기 스크립트나 쿼리를 작성하기 전에 문서 구조를 이해하는 데 도움이 됩니다. 데이터를 스프레드시트로 필요한 경우 JSON → CSV를 사용하여 변환할 수 있습니다.
팀원과 JSON을 공유하기 전에도 유용합니다. Slack 메시지나 Jira 티켓의 포매팅된 JSON은 원시 최소화 문자열보다 훨씬 읽기 쉽습니다. JSON 유효성 검사기를 통해 먼저 실행하면 다른 사람이 보기 전에 문제를 잡을 수 있습니다.
자주 묻는 질문
실제 API 키나 민감한 데이터를 붙여넣어도 안전한가요?
완전히 안전합니다. 모든 포매팅은 JavaScript를 사용하여 브라우저에서 이루어지며, 어떤 서버로도 데이터가 전송되지 않습니다. 도구를 사용하는 동안 브라우저의 네트워크 탭을 열어 직접 확인할 수 있습니다. 계정도 필요 없고, 로깅도 없습니다.
크기 제한이 무엇인가요?
도구 자체에는 고정된 제한이 없습니다. 브라우저의 사용 가능한 메모리에 따라 다릅니다. 10-15MB까지의 JSON 파일은 일반적으로 Chrome과 Firefox에서 문제 없이 작동합니다. 매우 큰 파일(수백 MB)의 경우 jq와 같은 명령줄 도구가 더 실용적입니다.
왜 JSON을 최소화해야 하나요?
최소화된 JSON은 줄 바꿈도, 공백도 없이 모든 공백이 제거된 순수한 데이터입니다. 네트워크로 전송할 때 크기가 줄어들고, 데이터베이스 필드에 저장할 때 비용이 절감되며, URL에 삽입하기에도 안전합니다. 최소화 버튼은 현재 출력에 즉시 적용됩니다. 이것이 주된 사용 목적이라면 별도의 JSON 최소화기 페이지도 있습니다.
출력에 "유효하지 않은 JSON"이 표시되는 이유는 무엇인가요?
입력에 구문 오류가 있습니다. 일반적인 원인으로는 마지막 요소 뒤의 후행 쉼표, 큰따옴표 대신 작은따옴표, 따옴표 없는 속성 이름 또는 일치하지 않는 괄호가 있습니다. JSON 사양은 이 모든 것에 대해 엄격합니다.
JSON을 스키마에 대해 유효성 검사할 수 있나요?
이 도구는 구문(JSON이 올바르게 형성되었는지 여부)을 유효성 검사하며 구조는 검사하지 않습니다. 스키마 유효성 검사의 경우 JSON 스키마 생성기를 사용하여 샘플 데이터에서 스키마를 생성하거나, JSON 유효성 검사기를 사용하여 더 자세한 검사를 수행하세요.
관련 도구
JSON에 대해 자세히 알아보려면 MDN의 JSON 가이드가 파싱과 직렬화를 다룹니다. 공식 표준은 RFC 8259입니다. json.org와 jq도 참조하세요.