JSON 포맷터

웹훅 본문, API 응답, 설정 조각을 붙여 넣어 들여쓰기로 펼치거나 공백을 없앱니다. 처리는 이 브라우저에서만 이루어집니다.

한 줄 응답을 트리로 펼치는 이유

게이트웨이 로그는 보통 공백 없는 한 줄로 남습니다. 중첩된 배열이 있으면 어느 키가 잘렸는지 눈으로 찾기 어렵습니다. Calcxzo JSON 포맷터는 입력란의 문자열을 JSON.parse로 읽고, 성공하면 2칸 들여쓰기 또는 공백 없는 한 줄로 다시 JSON.stringify합니다. 업로드 폼이 없고, 붙여 넣은 페이로드를 Calcxzo 계정에 남기지 않습니다.

이 페이지는 “예쁜 출력”과 “문법 확인”만 합니다. 스키마 검증, JSON Schema, YAML 변환, 바이너리 JSON(BSON)은 다루지 않습니다. 키 순서는 브라우저 구현에 따르며, 원본과 완전히 같은 공백·개행을 재현하지는 않습니다.

읽기 쉽게 보기와 한 줄 압축

읽기 쉽게는 객체와 배열을 줄바꿈하고 속성마다 두 칸을 들여 씁니다. 코드 리뷰, 장애 티켓, 문서 예제에 붙일 때 씁니다. 한 줄로 압축은 공백을 제거해 요청 본문 크기를 줄입니다. 같은 객체를 두 방식으로 바꿔 보아도 값은 같고 공백만 다릅니다.

압축은 암호화가 아닙니다. 민감한 필드가 들어 있으면 한 줄이든 여러 줄이든 같은 비밀입니다. 공용 PC, 공유 화면, 원격 지원 세션에서는 액세스 토큰·주민등록번호·카드 번호가 있는 JSON을 붙여 넣지 마세요.

자주 나는 문법 오류

실패 메시지는 파서가 멈춘 지점을 가리킵니다. 현장에서 반복되는 원인은 네 가지입니다. 마지막 속성 뒤 쉼표(후행 콤마), 키나 문자열의 작은따옴표, JavaScript 주석(//, /* */), 값으로 넣은 undefined 또는 함수입니다. JSON은 문자열·숫자·불리언·null·객체·배열만 허용합니다.

엑셀이나 슬랙에서 복사하면 스마트 따옴표(“ ”)가 들어가 파서가 실패하기도 합니다. 메시지가 가리키는 줄 근처의 따옴표를 ASCII 큰따옴표로 바꾼 뒤 다시 시도하세요. 여러 JSON이 이어 붙은 NDJSON은 한 덩어리로 파싱되지 않습니다. 한 줄씩 나눠 넣으세요.

예시: 카페 픽업 주문 조각

아래는 합정 매장의 픽업 주문을 가정한 예입니다. 입력란에 붙여 넣고 “읽기 쉽게”를 누르면 항목 배열이 펼쳐집니다. 마지막 객체 뒤에 쉼표를 남기면 오류가 납니다.

{
  "주문번호": "KR-240918-0831",
  "매장": "합정 로스팅랩",
  "항목": [
    {"이름": "에티오피아 예가체프", "용량_g": 200, "단가": 18000}
  ],
  "픽업": true
}

단가 18000은 숫자입니다. 따옴표로 감싸면 문자열이 되어 합계 계산 쪽과 타입이 어긋날 수 있습니다. “한 줄로 압축”하면 같은 객체가 공백 없이 이어집니다. 운영 환경의 실제 주문 번호·고객 연락처는 이 페이지에 넣지 말고, 필드 이름만 비슷한 가짜 값으로 연습하세요.

HTML·URL·Base64와 역할을 나누기

JSON 안에 HTML 조각이 있으면 먼저 이 포맷터로 구조를 확인한 뒤, 표시용 이스케이프는 HTML 인코더로 합니다. 쿼리스트링에 JSON을 실을 때는 URL 인코더로 값만 퍼센트 인코딩하세요. 바이너리 흉내나 전송 래핑은 Base64입니다. 초안을 잠시 남기려면 메모장이 이 브라우저에만 저장합니다.

자주 묻는 질문

JSON과 JavaScript 객체의 차이는 무엇인가요?

JSON은 키에 큰따옴표가 필요하고 함수·undefined·주석을 허용하지 않습니다. 콘솔에 붙여 넣던 객체 리터럴을 그대로 넣으면 실패하는 경우가 많습니다. 키를 따옴표로 감싸고 후행 콤마를 제거하세요.

후행 콤마나 주석은 되나요?

이 도구는 브라우저 표준 JSON.parse를 쓰므로 둘 다 거부합니다. JSONC나 JSON5가 필요하면 해당 전용 도구를 쓰세요.

붙여 넣은 JSON이 서버에 저장되나요?

저장하지 않습니다. 파싱은 이 탭에서만 이루어집니다. 새로고침하거나 탭을 닫으면 입력과 결과는 사라집니다. 공용 PC에서는 작업 후 입력란을 비우세요.

수십 메가바이트 로그도 열 수 있나요?

가능해도 탭이 느려지거나 멈출 수 있습니다. 운영 로그는 로컬에서 jq 같은 CLI로 나누는 편이 안전합니다.

키가 한글이면 문제가 되나요?

UTF-8 JSON에서 한글 키와 값은 허용됩니다. 위 주문 예처럼 써도 됩니다. 다만 일부 구형 시스템은 ASCII 키만 받으므로, 실제 API 명세를 우선하세요.