# JSON Formatter

URL: https://discuvr.org/json-formatter/?hl=ko
Last updated: 2026-11-07
MCP tool: `format_json`

JSON을 붙여넣으면 즉시 들여쓰기, 축소 또는 검증된 결과를 받을 수 있습니다. 손상된 JSON은 정확한 줄과 열이 표시되며 문제가 있는 줄도 함께 보여줍니다. 아무것도 저장되지 않습니다.

API 로그나 설정 파일에서 나온 JSON은 보통 하나의 긴 줄이며, 파싱되지 않는 JSON은 대개 눈에 보이지 않는 곳에서 실패합니다. 이 도구는 읽을 수 있도록 들여쓰기를 하고, 작게 만들어야 할 때는 압축하며, 손상된 경우에는 줄과 열을 알려주고 그 줄을 보여줍니다.

## 기능

- 공백 2칸, 공백 4칸 또는 탭으로 보기 좋게 정리하거나 - 가장 작은 유효한 형태로 압축합니다.
- JSON Lines 출력: 로그와 스트림 형식을 위해 한 줄에 하나의 압축된 레코드로 출력합니다.
- 정확한 오류 - 메시지, 줄, 열, 그리고 주변 줄까지 함께 제공합니다.
- 선택적으로 모든 객체의 키를 정렬하여 두 문서를 합리적으로 비교할 수 있게 합니다.
- UTF-8을 지원하지 않는 시스템을 위해 선택적으로 비-ASCII 문자를 \uXXXX로 이스케이프합니다.
- 선택적으로 주석과 끝 쉼표를 허용하며, 정확히 무엇이 제거되었는지 알려줍니다.
- 문서의 구조를 보고합니다: 키, 객체, 배열, 중첩 깊이, 절약된 크기.

## 작동 방식

1. JSON을, 또는 JSON이길 바랐던 것을 붙여넣으세요.
2. 보기 좋게, 압축, 또는 JSON Lines 중 하나를 선택하고 포맷을 누르세요.
3. 결과를 복사하거나 다운로드하세요 - 또는 오류를 읽고 지목된 줄을 수정하세요.

## 오류 메시지가 포맷팅보다 더 중요한 이유

대부분의 경우 당신은 JSON을 보기 좋게 만들기 위해 여기 온 것이 아닙니다 - 무언가가 그것을 거부했지만 이유를 말해주지 않았기 때문에 여기 온 것입니다. 파서는 줄, 열, 그리고 무엇을 기대했는지를 보고하며, 이 도구는 그 줄을 전후 두 줄과 함께 출력합니다. 설정 파일의 400번째 줄에 빠진 쉼표는 위치를 알고 나면 30초 만에 고칠 수 있는 문제입니다.

## 주석과 끝 쉼표

JSON은 이 둘 중 어느 것도 허용한 적이 없지만, 실제로 사람들이 건네주는 파일들 - tsconfig, VS Code 설정, 손으로 편집한 모든 것 - 은 그런 것들로 가득합니다. 옵션을 체크하면 파싱 전에 이를 제거하며, 도구는 이후 몇 개의 주석과 몇 개의 쉼표를 제거했는지 알려줍니다. 이것은 선택 사항이며 정확하게 보고되는데, 문서를 조용히 바꿔버리는 포맷터가 문서를 거부하는 포맷터보다 더 나쁘기 때문입니다.

## 이 도구가 하지 않는 일

이 도구는 당신이 무엇을 의도했는지 추측하지 않습니다. 위의 두 가지 제거 작업을 제외하고는 아무것도 수리되지 않습니다: 닫히지 않은 중괄호, 작은따옴표로 된 키, 또는 따옴표 없는 키는 보고될 뿐 다시 작성되지 않습니다. 키 정렬과 재들여쓰기는 배열의 순서나 문자열을 결코 바꾸지 않습니다. 다음 섹션에서는 그래도 출력이 붙여넣은 내용과 달라질 수 있는 몇 가지 경우를 설명합니다.

## 숫자, 중복 키, NaN

JSON은 파싱된 뒤 다시 작성되므로 일부 요소는 정규화된 형태로 돌아옵니다. 숫자는 다시 쓰입니다: 1.50은 1.5로, 1E3은 1000.0으로, -0은 0으로 바뀌고, 64비트 부동소수점 수가 담을 수 있는 것보다 자릿수가 많은 소수는 반올림됩니다(0.1000000000000000055는 0.1이 됩니다). 정수는 4,300자리까지 그대로 유지됩니다(더 긴 것은 거부됩니다). 객체에 같은 키가 반복되면 마지막 값만 남으며 경고는 없습니다. NaN, Infinity, -Infinity는 표준 JSON(RFC 8259)이 허용하지 않는데도 받아들여져 그대로 출력되고, 1e400처럼 부동소수점 수로 표현하기에 너무 큰 수는 Infinity로 출력됩니다. 이 중 하나라도 데이터를 넣을 시스템에 중요하다면, 오류 없는 결과를 믿기 전에 직접 확인하세요.

## 질문

**제 JSON이 어딘가에 업로드되거나 저장되나요?**

파싱을 위해 서버로 전송되며 동일한 응답으로 즉시 반환됩니다. 디스크에 기록되거나 캐시되거나 로그에 남는 일은 전혀 없으며, 사용 기록에는 개수만 남습니다 - 크기, 중첩 깊이, 선택한 모드 - 문서 자체는 절대 남지 않습니다.

**제 에디터는 받아들이는데 왜 여기서는 JSON이 유효하지 않다고 하나요?**

보통 주석, 끝 쉼표, 작은따옴표, 또는 따옴표 없는 키 때문입니다 - 이 모두는 설정 파일에서 흔하지만 어느 것도 유효한 JSON은 아닙니다. 처음 두 가지는 "주석과 끝 쉼표 허용"을 체크하세요. 나머지는 실제로 유효하지 않으므로 수정해야 합니다.

**큰 파일도 처리할 수 있나요?**

요청당 최대 2,000,000자까지 가능합니다. 더 긴 텍스트는 정확한 길이를 알려 주며 거부됩니다. 그 정도 크기의 파일에는 jq 같은 커맨드라인 도구가 더 나은 선택입니다.

**JSON Lines는 무엇을 위한 것인가요?**

로그 파이프라인과 스트리밍 로더는 하나의 큰 배열 대신 한 줄에 하나의 JSON 객체를 읽습니다. 이를 선택하면 최상위 배열이 한 줄에 하나의 압축된 레코드로 반환됩니다.

**키를 정렬하면 제 데이터가 바뀌나요?**

아니요. 객체 키의 순서는 JSON에서 의미가 없으며, 의미가 있는 배열의 순서는 절대 건드리지 않습니다. 정렬은 같은 문서의 두 버전을 잡음 없이 비교할 수 있도록 하기 위해 존재합니다.

**이 JSON을 엑셀에서 어떻게 여나요?**

Microsoft 365용 엑셀에서 .json 파일로 저장한 뒤 Data > Get Data > From File > From JSON(데이터 > 데이터 가져오기 > 파일에서 > JSON에서)을 선택하세요. Power Query가 열리면 최상위 배열은 List로 보이고, To Table(테이블로)을 누르면 Records 열 하나가 되며, 열 머리글의 확장 버튼(화살표 두 개)이 각 키를 별도 열로 나눕니다. 중첩 배열을 확장하면 항목마다 행이 하나씩 늘어납니다. Power Query에는 유효한 JSON 문서 하나가 필요하므로 먼저 여기서 줄과 열이 표시되는 오류를 고친 다음 정렬 또는 최소화 결과를 저장하세요. JSON Lines 결과는 로그 도구용입니다. 이 도구 자체는 JSON을 CSV나 엑셀로 변환하지 않습니다.

**명령줄에서 JSON을 검증하거나 정리하려면 어떻게 하나요?**

Python에는 검사 도구가 기본으로 들어 있습니다. python -m json.tool data.json 는 문서를 4칸 들여쓰기로 출력하거나 Expecting ',' delimiter: line 3 column 3 같은 메시지와 함께 멈춥니다. jq가 설치되어 있으면 jq . data.json 는 보기 좋게 정리하고, jq empty data.json 는 검사만 하며 파일이 올바르면 아무것도 출력하지 않습니다. 둘 다 주석과 후행 쉼표를 받지 않으므로 이런 것이 들어 있는 설정 파일은 그곳에서 실패합니다. 여기에 붙여 넣고 "주석 및 후행 쉼표 허용"을 선택하면 무엇이 제거되었는지 볼 수 있습니다.

**"Expecting property name enclosed in double quotes"는 무슨 뜻인가요?**

파서가 객체의 키를 기대했는데 다른 것을 만났다는 뜻입니다. 대개 키가 작은따옴표로 묶였거나 따옴표가 없는 경우로, Python이나 JavaScript에서 복사한 {'name': 'Asha'}는 1행 2열에서 멈춥니다. JSON은 모든 키와 문자열을 큰따옴표로 묶어야 하며, 이 도구는 따옴표를 절대 바꾸지 않으므로 직접 고쳐야 합니다. 같은 메시지가 {"a": 1,}처럼 닫는 중괄호에서 나오면 후행 쉼표가 원인이니 "주석 및 후행 쉼표 허용"을 선택해 제거하세요. True, False, None 위치의 Expecting value는 Python 값이라는 뜻입니다. JSON은 true, false, null을 소문자로 씁니다. Python에서 json.dumps(data)는 올바른 JSON을 만들지만 print(data)는 그렇지 않습니다. 오류는 Python 파서가 쓰는 그대로 영어로 표시되므로 메시지를 그대로 검색할 수 있습니다.

**"Extra data"는 무슨 뜻인가요?**

파서가 완전한 JSON 값 하나를 읽은 뒤 그 뒤에서 텍스트를 더 발견했다는 뜻입니다. 흔한 원인은 한 줄에 객체 하나씩 들어 있는 JSON Lines(NDJSON) 로그(2행 1열에서 멈춤), 연달아 붙여 넣은 두 문서, 마지막 닫는 중괄호 뒤의 // 주석("주석 및 후행 쉼표 허용"이 제거함)입니다. 이 도구는 한 번에 문서 하나만 검사하므로 레코드 하나만 붙여 넣거나, 레코드들을 쉼표로 구분해 [ ] 안에 넣으세요. 그런 다음 JSON Lines를 고르면 다시 한 줄에 하나씩 출력됩니다.

## 개발자 도구의 다른 도구

- [Python 포맷터](https://discuvr.org/python-formatter/?hl=ko)
- [HTML 뷰어](https://discuvr.org/html-viewer/?hl=ko)
- [IP 서브넷 계산기](https://discuvr.org/ip-subnet-calculator/?hl=ko)
- [인코딩 / 디코딩](https://discuvr.org/encode-decode/?hl=ko)

## 함께 자주 쓰는 도구

- [CSV를 Excel로](https://discuvr.org/csv-to-excel/?hl=ko)

---

Part of Discuvr (https://discuvr.org/): Discuvr is a collection of free, focused tools for day-to-day professional work - office and data utilities, legal and compliance helpers, privacy and security checks, and developer formatters. Every tool has its own page, and most can also be called from ChatGPT or Claude over MCP.
