ByteCompress

JSON 포맷터

적절한 구조와 구문 강조로 JSON 데이터를 들여쓰기하고 아름답게 만드세요. 완전히 브라우저에서 실행되며, 데이터는 장치를 떠나지 않습니다.

5
0 chars
FreeClient-sideNo signup

JSON 페이로드는 Postman의 2023 API 상태 보고서에 따르면 REST API 트래픽의 90% 이상을 차지합니다. API 응답이 읽을 수 없는 단일 줄로 돌아올 때 포맷터가 필요합니다. 이 도구는 브라우저에서 기본 JSON.parseJSON.stringify 엔진을 사용하여 JSON을 파싱하고 들여쓰기합니다. 데이터는 장치를 떠나지 않습니다. API 응답을 처리하는 개발자는 스테이징 환경, 서드파티 웹훅 및 데이터베이스 내보내기에서 축소된 출력을 자주 접하게 되며 - 이 포맷터는 모든 것을 즉시 처리합니다.

JSON 포맷팅 방법

  1. 원시 또는 축소된 JSON을 입력 영역에 붙여넣습니다.
  2. 포맷을 클릭하여 들여쓰기와 구조를 적용합니다.
  3. 오른쪽 패널에서 포맷된 출력을 검토합니다.
  4. 결과를 복사하거나 .json 파일로 다운로드합니다.
  5. 오류 표시기를 사용하여 구문 문제를 즉시 찾아 수정합니다.

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 데이터를 변경하나요?

아니요. 포맷팅은 공백만 추가합니다 - 토큰 간의 들여쓰기와 줄 바꿈. 키, 값, 중첩 및 요소 순서는 원본과 바이트 단위로 동일합니다. 포맷된 출력을 축소하고 원본 축소 입력과 비교하여 확인하세요.