도구
가이드

JSON 포매터 및 검증기

JSON

JSON을 포맷, 검증, 압축합니다. 행과 열로 정확한 오류 위치를 표시하고 구문 강조를 제공합니다.

100% 클라이언트 백엔드 없음

원격 URL은 가져오지 않습니다. JSON을 직접 붙여넣으세요.

입력
출력
왼쪽에 JSON을 붙여넣으면 포맷된 결과가 여기 표시됩니다.
이 페이지에서

JSON 포매터란?#

JSON 포매터는 한 줄로 길게 이어진 JSON — 서버 로그가 한 줄로 남긴 형태이거나 번들러가 minify해 내뱉은 형태 — 에 일관된 들여쓰기를 적용해 사람이 읽을 수 있도록 다시 써주는 도구입니다. 사소해 보이지만, 요청이 실패하거나 설정 파일에 오타가 있거나 두 페이로드가 같아 보이는데 동작이 다를 때 가장 먼저 찾게 되는 도구가 보통 포매터입니다.

이 페이지는 한곳에서 세 가지 연관된 작업을 처리합니다. 예쁘게 출력(pretty-print) 하고(들여쓰기와 줄바꿈 추가), 검증 하고(텍스트가 올바른 JSON인지 알려주고), 압축 합니다(가장 작은 페이로드를 위해 모든 공백을 제거). 검증이 실패하면 상태 표시줄이 단순히 “오류”라고만 하지 않고 정확한 행과 열을 알려주는데, 이 차이가 5초 만에 고치는 일과 20분 동안 들여다보는 일을 가르는 경우가 많습니다.

사용 방법#

  1. 왼쪽 입력 패널에 JSON을 붙여넣으세요. 동작만 확인해 보려면 예제 를 눌러 작은 예시를 불러올 수도 있습니다.
  2. 도구 모음에서 들여쓰기 스타일을 고르세요. 공백 2칸, 공백 4칸, 탭 중 하나입니다. 공백 2칸이 가장 흔한 관례이고, 탭은 이미 탭을 쓰는 편집기에 붙여 넣으려 할 때 편리합니다.
  3. 추가로 수행할 작업을 고르세요.
    • 서식 — 선택한 들여쓰기로 예쁘게 출력합니다.
    • 압축 — 공백 없이 한 줄로 만듭니다. 요청 본문에 붙여 넣기 전에 쓰기 좋습니다.
    • 검증 — 텍스트를 바꾸지 않고 구문만 확인합니다. 예/아니오 답만 필요할 때 유용합니다.
  4. 객체 속성을 알파벳 순으로 내보내려면 키 정렬 에 체크하세요. API의 서로 다른 두 버전 응답을 비교할 때 놀라울 정도로 유용합니다. 키를 정렬하고 나면 남는 차이는 실제로 의미 있는 차이뿐입니다.
  5. 느슨하고 사람 친화적인 형태(마지막 항목 뒤에 쉼표)를 원하면 후행 쉼표 허용 에 체크하세요. 엄격한 파서는 이를 거부합니다. 로컬에서 읽을 때만 켜두세요.
  6. 출력 패널에서 결과를 읽으세요. 아래 상태 표시줄은 유효한 JSON 또는 정확한 오류 위치(행:열 — 메시지)를 보여줍니다. 복사 로 결과를 가져가세요.

주요 기능#

  • 엄격한 네이티브 파서. 브라우저 자체 JSON 구현으로 만들었으므로 여기서 통과하는 것은 런타임에서도 통과합니다. 별도 방언도, 깜짝 서프라이즈도 없습니다.
  • 정확한 오류 위치. 후행 쉼표, 따옴표 없는 키, 누락된 괄호 — 각각 행과 열과 함께 보고되며, 단순한 “파싱 오류”가 아닙니다.
  • 세 가지 들여쓰기 스타일. 공백 2칸, 공백 4칸, 탭.
  • 선택적 키 정렬과 후행 쉼표. 다시 붙여넣지 않고도 작업마다 토글할 수 있습니다.
  • 100% 클라이언트 사이드. 붙여넣은 텍스트는 브라우저 안의 이 페이지에서 처리됩니다. 업로드는 일어나지 않으며, 업로드할 백엔드 자체가 없습니다.
  • 실시간 문자 수. 두 패널 모두 크기를 표시하여 페이로드에서 바이트를 깎아내려 할 때 도움이 됩니다.

실전 예시#

설정 엔드포인트가 다음과 같이 minify된 덩어리를 반환하고, 잘못된 이름의 키를 찾아야 한다고 상상해 보세요.

입력(minify, 한 줄):

{"server":"api.example.com","port":443,"retry":{"count":3,"backoffMs":[100,400,1600]},"tags":["prod","primary"]}

서식 을 누르고 공백 2칸 들여쓰기와 키 정렬 을 켜면:

{
  "port": 443,
  "retry": {
    "backoffMs": [
      100,
      400,
      1600
    ],
    "count": 3
  },
  "server": "api.example.com",
  "tags": [
    "prod",
    "primary"
  ]
}

키가 정렬되면서 backoffMscount 바로 옆에 놓이고, 한 줄 버전에서는 보이지 않던 지수적 간격(100, 400, 1600)이 즉시 보입니다. tags는 여전히 ["prod","primary"]입니다. 키 정렬은 객체 속성 의 순서만 바꿀 뿐, 배열 요소에는 손대지 않으므로 넣은 순서가 그대로 돌아옵니다.

FAQ#

이 도구는 내 데이터를 업로드하나요?#

아니요. 파싱은 이 페이지 안에서 브라우저 내장 JSON API로 처리합니다. 서버 엔드포인트도, 네트워크 요청도 없으며, 입력은 기기에 머무릅니다.

상태 표시줄이 JSON이 잘못되었다고 하는데 멀쩡해 보입니다. 어떻게 해야 하나요?#

보고된 행과 열을 확인하세요. 가장 흔한 원인 네 가지는 닫는 } 또는 ] 앞의 후행 쉼표, 문자열 주변의 작은따옴표(JSON은 큰따옴표가 필요), 따옴표 없는 객체 키, 다른 편집기에서 붙여넣은 리터럴 탭이나 제어 문자입니다. 열 번호가 정확한 범인을 가리킵니다.

”키 정렬”은 정확히 무엇을 하나요?#

모든 객체의 속성을 알파벳 순(대소문자를 구분하는 ASCII 순서)으로 다시 내보냅니다. 배열은 원래 순서를 유지합니다. 배열 요소의 순서는 의미를 가지므로, 키 정렬은 결코 배열 요소의 순서를 바꾸지 않습니다.

매우 큰 파일도 처리할 수 있나요?#

네, 브라우저의 메모리 한계까지 가능합니다. 몇 메가바이트를 넘는 파일은 서식 적용에 약간의 시간이 걸릴 수 있습니다. 상태 표시줄이 문자 수를 보여주므로 크기를 가늠할 수 있습니다. 이 페이지는 스트리밍하지 않으므로 수백 MB 같은 극단적으로 큰 입력은 탭에 부담을 줍니다.