입력

출력

JSON 포매터란?

JSON(JavaScript Object Notation)은 오늘날 웹에서 가장 널리 사용되는 데이터 형식입니다. API가 반환하고, 설정 파일이 사용하며, 데이터베이스가 저장합니다. JSON 사양은 최소화를 유지하므로 기계에는 좋지만 실제로 데이터를 읽어야 할 때는 불편합니다. JSON 포매터는 원시 또는 최소화된 JSON에 들여쓰기와 줄 바꿈을 추가하여 구조를 명확하게 볼 수 있게 합니다.

이 도구는 브라우저에서 완전히 실행됩니다. JSON이 2칸 들여쓰기로 JSON.stringify()를 통해 처리되고 결과가 출력 패널에 표시됩니다. 서버로 전송되는 데이터가 없으므로 프로덕션 데이터, 토큰 또는 외부로 나가지 않기를 원하는 모든 것을 안전하게 사용할 수 있습니다.

JSON 포매팅 예제

포매터가 하는 일의 몇 가지 예제입니다. 최소화되거나 압축된 JSON은 읽기 어렵습니다. 포매팅하면 구조를 한눈에 파악할 수 있습니다.

예제 1: 구독자 레코드

최소화된 입력 (한 줄):

입력

포매팅된 출력:

출력

예제 2: 통화 레코드

최소화된 입력:

입력

포매팅된 출력:

출력

위의 샘플 버튼을 클릭하여 편집기에 기성 예제(모바일 요금제 데이터)를 로드하고 포매터가 실제로 동작하는 것을 확인하세요.

이 도구 사용 방법

1

붙여넣기 또는 업로드

JSON을 복사하여 왼쪽 편집기에 붙여넣으세요. 업로드를 클릭하여 컴퓨터에서 .json 또는 .txt 파일을 로드할 수도 있습니다. 샘플 버튼은 테스트하려는 경우 예제 데이터를 로드합니다.

2

출력 확인

오른쪽 패널이 입력하는 동안 자동으로 업데이트됩니다. 유효한 JSON은 RFC 8259에 따라 적절한 들여쓰기로 포매팅됩니다. 구문 오류(누락된 괄호, 후행 쉼표, 따옴표 없는 키)가 있으면 대신 오류 메시지가 표시됩니다.

3

복사, 다운로드 또는 최소화

복사를 사용하여 결과를 클립보드에 넣거나, 다운로드를 사용하여 파일로 저장하거나, 최소화를 사용하여 모든 공백을 제거하고 압축된 한 줄 버전을 얻으세요.

포매터 작동 방식

두 편집기 모두 구문 강조, 줄 번호 및 JSON 특정 오류 마커를 제공하는 Ace Editor를 사용합니다. 입력 패널에 JSON을 붙여넣거나 입력하면 도구가 300ms 기다렸다가(키 입력 중 파싱을 방지하기 위해) 입력에 대해 JSON.parse()를 실행합니다. 파싱이 성공하면 JSON.stringify(data, null, 2)를 호출하고 결과를 표시합니다. 파싱이 실패하면 출력에 오류가 표시됩니다.

참고: JSON은 주석을 지원하지 않습니다. 이것은 이 도구의 제한이 아니라 사양 자체에 정의되어 있습니다. VS Code의 settings.json과 같은 파일은 다른 형식인 JSONC(주석이 있는 JSON)를 사용합니다. 파일에 주석이 있으면 포매팅 전에 제거해야 합니다.

JSON 포매팅이 도움이 되는 곳

대부분의 개발자는 API 응답을 읽을 때 포매터가 필요합니다. Postman 또는 curl을 통해 요청을 보내면 응답이 단일 압축 줄로 반환됩니다. 여기에 붙여넣으면 중첩된 객체와 배열이 즉시 보입니다. 대용량 응답에서 특정 값을 추출하려면 명령줄에서 jq가 잘 작동합니다.

설정 파일도 또 다른 일반적인 경우입니다. 일관성 없는 들여쓰기가 있는 <code>package.json</code> 또는 <code>tsconfig.json</code>은 풀 요청에서 검토하기 어렵습니다. 여기서 포매팅하면 다시 붙여넣을 수 있는 일관된 버전을 얻을 수 있습니다. 두 설정 파일을 결합해야 하는 경우 JSON 병합 도구가 있습니다.

<a href="https://www.mongodb.com/docs/manual/reference/mongodb-extended-json/" target="_blank" rel="noopener">MongoDB</a>, Firestore 또는 CouchDB의 데이터베이스 내보내기는 일반적으로 포매팅이 없는 큰 JSON 블록입니다. 여기서 실행하면 가져오기 스크립트나 쿼리를 작성하기 전에 문서 구조를 이해하는 데 도움이 됩니다. 데이터를 스프레드시트로 필요한 경우 JSON → CSV를 사용하여 변환할 수 있습니다.

팀원과 JSON을 공유하기 전에도 유용합니다. Slack 메시지나 Jira 티켓의 포매팅된 JSON은 원시 최소화 문자열보다 훨씬 읽기 쉽습니다. JSON 유효성 검사기를 통해 먼저 실행하면 다른 사람이 보기 전에 문제를 잡을 수 있습니다.

자주 묻는 질문

내 데이터는 비공개인가요?

예. 포매팅은 JavaScript를 사용하여 브라우저에서 이루어집니다. 서버로 전송되는 데이터가 없습니다. 도구를 사용하는 동안 브라우저의 네트워크 탭을 열어 확인할 수 있습니다.

크기 제한이 무엇인가요?

도구 자체에는 고정된 제한이 없습니다. 브라우저의 사용 가능한 메모리에 따라 다릅니다. 10-15MB까지의 JSON 파일은 일반적으로 Chrome과 Firefox에서 문제 없이 작동합니다. 매우 큰 파일(수백 MB)의 경우 jq와 같은 명령줄 도구가 더 실용적입니다.

최소화는 무엇을 하나요?

포매팅된 출력에서 모든 공백(줄 바꿈, 공백, 들여쓰기)을 제거하여 가능한 가장 작은 JSON 버전을 제공합니다. URL에 JSON을 삽입하거나 데이터베이스 필드에 저장하거나 네트워크를 통한 페이로드 크기를 줄이는 데 유용합니다. 별도의 JSON 최소화기 페이지도 있습니다.

출력에 "유효하지 않은 JSON"이 표시되는 이유는 무엇인가요?

입력에 구문 오류가 있습니다. 일반적인 원인으로는 마지막 요소 뒤의 후행 쉼표, 큰따옴표 대신 작은따옴표, 따옴표 없는 속성 이름 또는 일치하지 않는 괄호가 있습니다. JSON 사양은 이 모든 것에 대해 엄격합니다.

JSON을 스키마에 대해 유효성 검사할 수 있나요?

이 도구는 구문(JSON이 올바르게 형성되었는지 여부)을 유효성 검사하며 구조는 검사하지 않습니다. 스키마 유효성 검사의 경우 JSON 스키마 생성기를 사용하여 샘플 데이터에서 스키마를 생성하거나, JSON 유효성 검사기를 사용하여 더 자세한 검사를 수행하세요.

관련 도구

JSON에 대해 자세히 알아보려면 MDN의 JSON 가이드가 파싱과 직렬화를 다룹니다. 공식 표준은 RFC 8259입니다. json.orgjq도 참조하세요.