JSON 포맷터
적절한 구조와 구문 강조로 JSON 데이터를 들여쓰기하고 아름답게 만드세요. 완전히 브라우저에서 실행되며, 데이터는 장치를 떠나지 않습니다.
JSON 페이로드는 Postman의 2023 API 상태 보고서에 따르면 REST API 트래픽의 90% 이상을 차지합니다. API 응답이 읽을 수 없는 단일 줄로 돌아올 때 포맷터가 필요합니다. 이 도구는 브라우저에서 기본 JSON.parse 및 JSON.stringify 엔진을 사용하여 JSON을 파싱하고 들여쓰기합니다. 데이터는 장치를 떠나지 않습니다. API 응답을 처리하는 개발자는 스테이징 환경, 서드파티 웹훅 및 데이터베이스 내보내기에서 축소된 출력을 자주 접하게 되며 - 이 포맷터는 모든 것을 즉시 처리합니다.
JSON 포맷팅 방법
- 원시 또는 축소된 JSON을 입력 영역에 붙여넣습니다.
- 포맷을 클릭하여 들여쓰기와 구조를 적용합니다.
- 오른쪽 패널에서 포맷된 출력을 검토합니다.
- 결과를 복사하거나
.json파일로 다운로드합니다. - 오류 표시기를 사용하여 구문 문제를 즉시 찾아 수정합니다.
JSON 포맷팅 작동 원리
프리티 프린팅 설명
프리티 프린팅은 JSON 문자열에 일관된 들여쓰기, 줄 바꿈 및 공백을 추가하여 데이터 계층 구조를 읽기 쉽게 만듭니다. RFC 8259는 JSON에 대한 현재 IETF 표준으로, 토큰 간의 공백 요구 사항을 정의하지 않습니다 - 어떤 양의 공백도 유효합니다. 프리티 프린팅은 그 유연성을 활용하여 의미를 변경하지 않고 가독성을 향상시킵니다.
들여쓰기 옵션
2칸 들여쓰기는 대부분의 JavaScript 도구(Prettier, ESLint)에서 기본값이며, 깊게 중첩된 구조에 대해 컴팩트한 출력을 생성합니다. 4칸 들여쓰기는 Python의 json.dumps(data, indent=4)의 기본 출력을 일치시킵니다. 이 도구는 팀의 관습에 맞게 두 가지 스타일을 모두 지원합니다.
예시
입력 (축소됨)
{"user":{"id":1,"name":"Alice","roles":["admin","editor"],"active":true}}
출력 (2칸 들여쓰기)
{
"user": {
"id": 1,
"name": "Alice",
"roles": [
"admin",
"editor"
],
"active": true
}
}
포맷터가 시간을 절약하는 경우
- API 디버깅 - 원시 API 응답을 붙여넣어 중첩된 객체와 배열을 한눈에 확인
- 구성 파일 - 버전 관리에 커밋하기 전에 읽기 쉬운
package.json,tsconfig.json또는 앱 구성 - 데이터베이스 내보내기 - MongoDB, PostgreSQL JSON 열 또는 Elasticsearch 응답은 종종 축소된 형태로 도착
- 코드 리뷰 - git에서 차이를 보기 전에 축소된 서드파티 JSON을 아름답게 만듭니다.
일반적인 실수
- 후행 쉼표 -
{"a": 1,}는 유효한 JavaScript지만 RFC 8259에 따라 유효한 JSON이 아닙니다; 마지막 쉼표를 제거하세요. - 단일 인용 문자열 -
{'key': 'value'}는 유효하지 않습니다; JSON은 이중 인용을 요구합니다. - JavaScript 주석 -
// comment및/* comment */는 JSON 구문에 해당하는 것이 없습니다; 먼저 제거하세요. - 이스케이프되지 않은 제어 문자 - 문자열 값 내부의 탭 문자와 줄 바꿈은
및으로 이스케이프해야 합니다.
JSON Validator로 유효성을 검사한 후 이 포맷터를 사용하여 출력을 들여쓰기하세요. 프로덕션 페이로드를 위해 포맷된 JSON을 다시 압축하려면 JSON Minifier가 이 과정을 되돌립니다. HTTP 헤더나 쿼리 문자열 내에서 JSON을 인코딩하려면 Base64 Encoder가 바이너리 안전한 전송을 처리합니다.
자주 묻는 질문
이 도구를 사용할 때 내 JSON 데이터는 안전한가요?
네. 모든 포맷팅은 브라우저에서 JavaScript의 기본 JSON.parse와 JSON.stringify를 사용하여 이루어집니다. 당신의 JSON은 서버로 전송되지 않으며 - 포맷팅 중에 브라우저의 네트워크 탭을 확인하면 아웃바운드 요청이 없음을 볼 수 있습니다. API 키, 토큰 및 개인 데이터는 비공개로 유지됩니다.
JSON 프리티 프린팅이란 무엇인가요?
프리티 프린팅은 JSON 문자열에 일관된 들여쓰기, 줄 바꿈 및 공백을 추가합니다. 포맷된 결과는 원본과 의미적으로 동일하며 - 토큰 간의 공백만 변경됩니다. 이는 RFC 8259에서 명시적으로 허용됩니다. 축소된 JSON과 포맷된 버전은 정확히 동일한 데이터 구조로 파싱됩니다.
포맷팅을 시도한 후 JSON에 오류가 표시되는 이유는 무엇인가요?
포맷터는 JSON을 파싱하면서 유효성을 검사합니다. 일반적인 문제: 배열이나 객체의 마지막 항목 뒤에 있는 후행 쉼표, 단일 인용 문자열 대신 이중 인용 문자열, 문자열 내부의 이스케이프되지 않은 백슬래시, 주석이나 undefined와 같은 JavaScript 전용 구문 - 이들은 모두 RFC 8259에 따라 유효하지 않습니다. 정확한 줄 및 열 오류 보고를 위해 JSON Validator를 사용하세요.
매우 큰 JSON 파일을 포맷할 수 있나요?
네. 이 도구는 브라우저의 기본 JavaScript 엔진을 사용하므로 합리적으로 큰 파일을 빠르게 처리합니다. 50MB 이상의 파일은 장치의 사용 가능한 메모리와 CPU에 따라 성능이 달라집니다. 매우 큰 페이로드를 파싱하는 동안 브라우저가 잠시 멈출 수 있습니다 - 이는 예상되는 동작이며 버그가 아닙니다.
포맷팅이 내 JSON 데이터를 변경하나요?
아니요. 포맷팅은 공백만 추가합니다 - 토큰 간의 들여쓰기와 줄 바꿈. 키, 값, 중첩 및 요소 순서는 원본과 바이트 단위로 동일합니다. 포맷된 출력을 축소하고 원본 축소 입력과 비교하여 확인하세요.