it-box

JSON 포맷터

JSON 문자열을 읽기 쉬운 형식으로 정리합니다.

JSON 포맷터 도구 열기

JSON 또는 JSON5 텍스트를 들여쓰기해 보기 좋게 정리하고, 키 정렬 옵션을 함께 적용합니다.

사용 순서

  1. 입력 칸에 JSON을 붙여 넣거나 기본 예시를 그대로 둡니다.
  2. Sort keys 스위치로 키를 정렬할지 정합니다. 기본값은 켜짐입니다.
  3. Indent size에서 들여쓰기 칸 수를 0부터 10 사이로 정합니다. 기본값은 3입니다.
  4. 결과 칸에서 정리된 JSON을 확인하고 복사합니다.

예시

입력 {"b":1,"a":[{"d":2,"c":3}]}을 키 정렬과 들여쓰기 2칸으로 바꾸면 "a"가 "b"보다 먼저 나오고, 안쪽 객체의 "c"도 "d"보다 먼저 나옵니다.

한계

JSON5 문법을 받아들이므로 주석, 작은따옴표 문자열, 뒤쪽 쉼표가 있어도 읽습니다. 결과는 표준 JSON으로 다시 쓰이므로 주석은 사라지고 따옴표 형식이 바뀝니다. 2의 53제곱을 넘는 정수는 자바스크립트 숫자로 읽혀 자릿수가 바뀔 수 있습니다. 입력이 비어 있으면 결과도 비어 있습니다.

보안 주의

키 정렬은 객체 키의 순서만 바꾸지만, 키 순서에 의미를 두는 설정이나 API에서는 동작이 달라질 수 있습니다. 큰 정수 ID를 붙여 넣었다면 결과를 쓰기 전에 원본과 뒷자리를 비교하세요.

배경 지식

JSON은 객체, 배열, 문자열, 숫자, 불리언, null만 허용하는 텍스트 형식입니다. 공백과 줄바꿈이 자유로워 API 응답처럼 한 줄로 이어진 데이터는 사람이 읽기 어렵습니다. 들여쓰기는 중첩 구조를 눈으로 따라가기 쉽게 만드는 표시일 뿐이며 값에는 영향을 주지 않습니다.

JSON5는 주석, 작은따옴표, 따옴표 없는 키, 뒤쪽 쉼표를 허용하는 JSON의 확장 문법입니다. 사람이 직접 쓰는 설정 파일에서는 편리하지만 표준 JSON 파서는 이를 거부하므로, 배포 전에는 표준 형식으로 바꿔야 합니다. 이 도구는 JSON5로 읽은 뒤 표준 JSON으로 다시 씁니다.

키 정렬은 두 응답을 나란히 비교하거나 diff를 볼 때 유용합니다. 같은 데이터라도 키 순서가 다르면 텍스트 비교에서는 차이로 잡히기 때문입니다. 반대로 순서 자체에 의미가 있는 데이터도 있으므로 정렬 전에 원본 규격을 확인하는 것이 좋습니다. 정렬한 결과는 원본과 비교할 때 키 순서만 다른지, 값까지 달라졌는지 diff 도구로 함께 보세요.

자주 묻는 질문

입력한 JSON에 주석이 있으면 결과에도 남나요?

남지 않습니다. JSON5 파서가 주석을 읽고 버린 뒤 표준 JSON 문자열로 출력하므로 결과에는 주석이 없습니다. 주석이 필요한 설정 파일이라면 원본을 따로 보관한 뒤 정리하세요.

Indent size를 0으로 하면 어떻게 되나요?

들여쓰기 없이 한 줄로 출력되며, 이 결과는 JSON 최소화 도구의 출력과 같은 형태가 됩니다. 사람이 읽을 목적이라면 2에서 4 사이 값을 쓰는 것이 일반적입니다.

숫자 ID의 뒷자리가 바뀌는 이유는 무엇인가요?

자바스크립트는 JSON의 숫자를 64비트 부동소수점으로 읽으며, 정확히 표현할 수 있는 정수 범위는 2의 53제곱 미만입니다. 그보다 큰 ID는 문자열로 감싸 두어야 값이 보존됩니다.