{ }JSONKit.tools

JSON 압축 도구 (온라인 minify)

JSON을 유효한 최소 형태로 줄이고 절약한 바이트를 정확히 확인합니다. 읽기 좋은 형태로 되돌리려면 보기 좋게 버튼이 바로 옆에 있습니다.

들여쓰기

입력

출력

입력을 기다리는 중…

이 도구에 대하여

압축은 파서에 필요 없는 바이트를 모두 제거합니다. 들여쓰기, 줄바꿈, 콜론과 쉼표 주변의 공백입니다. 데이터는 건드리지 않으므로 결과는 정확히 같은 객체로 파싱됩니다. 다만 네트워크를 더 가볍게 지나가고, 캐시나 데이터베이스 컬럼, HTML 속성 안에서 차지하는 자리가 줄어들 뿐입니다. 실행할 때마다 전후 크기를 알려 주므로 절약분은 추측이 아니라 숫자입니다.

사용 방법

  1. 1줄이려는 JSON을 입력 패널에 붙여넣습니다.
  2. 2압축된 결과가 바로 표시되고, 절약한 크기가 상태 표시줄에 나옵니다.
  3. 3복사를 눌러 가져가거나, 보기 좋게로 바꿔 들여쓴 화면으로 돌아갑니다.

자주 묻는 질문

›JSON 압축은 실제로 무엇을 제거하나요?

의미 없는 공백뿐입니다. 들여쓰기, 줄바꿈, 콜론과 쉼표 뒤의 공백입니다. 키와 값, 순서, 타입은 전혀 달라지지 않으므로 파싱 결과는 동일합니다.

›JSON은 얼마나 작아지나요?

정렬된 문서라면 대개 15~40%입니다. 중첩이 깊을수록 걷어낼 들여쓰기가 많아집니다. 이 페이지는 실행할 때마다 전후 크기를 보여 줍니다.

›서버에서 이미 gzip을 쓰는데도 압축할 필요가 있나요?

이득은 작지만 분명히 있습니다. gzip은 반복되는 공백을 아주 잘 압축하므로 그 위에 minify를 해도 보통 몇 퍼센트 정도입니다. 압축하지 않고 저장하는 데이터, HTML에 삽입하는 경우, 웹소켓으로 보내는 경우에 효과가 가장 큽니다.

›정렬된 상태로 되돌릴 수 있나요?

있습니다. 압축은 데이터 측면에서 무손실이므로 보기 좋게를 누르면 같은 문서가 다시 들여쓰기됩니다. 제거된 것은 공백뿐입니다.

›커맨드라인에서 JSON을 압축하려면?

jq라면: jq -c . data.json — -c 플래그가 압축 출력을 냅니다. Node에서는 JSON.stringify(JSON.parse(input))이 같은 일을 합니다.