> 포맷 | 검증 | 축소 <
// JSON 데이터를 즉시 포맷, 검증 및 축소
예쁜 출력
사용자 정의 가능한 들여쓰기로 JSON을 정리합니다. 2칸, 4칸 또는 탭 중 선택하세요.
압축 출력
모든 공백을 제거하여 JSON을 축소합니다. 프로덕션 및 API용 크기를 줄입니다.
구문 검사
JSON 구문을 즉시 검증합니다. 자세한 오류 메시지를 받아보세요.
// JSON 포맷팅에 대하여
JSON이란:
JSON(JavaScript Object Notation)은 RFC 8259에 정의된 경량 데이터 교환 형식입니다. 사람이 읽고 쓰기 쉽고, 기계가 파싱하고 생성하기 쉽습니다.
예시:
{"name":"John","age":30} → {\n "name": "John",\n "age": 30\n}
일반적인 사용 사례:
- >API 응답 디버깅 및 검사
- >설정 파일 포맷팅
- >처리 전 데이터 검증
- >축소를 통한 크기 감소
- >일관된 출력을 위한 키 정렬
>> 자주 묻는 질문
Q: JSON 포맷터란?
A: JSON 포맷터는 원시 또는 축소된 JSON 데이터를 적절한 들여쓰기와 줄바꿈으로 재포맷하는 도구입니다.
Q: 정리와 축소의 차이는?
A: 정리는 들여쓰기와 줄바꿈을 추가하여 읽기 쉽게 합니다. 축소는 불필요한 공백을 모두 제거하여 파일 크기를 줄입니다.
Q: JSON 검증은 어떻게 작동하나요?
A: JSON 검증은 입력이 JSON 사양(RFC 8259)을 준수하는지 확인합니다. 괄호, 인용부호, 데이터 유형을 검증합니다.
Q: 키 정렬은 무엇을 하나요?
A: 알파벳순 키 정렬은 JSON 구조의 모든 객체 키를 재배열하여 비교와 일관성을 쉽게 합니다.
Q: JSON과 YAML 비교는?
A: JSON은 중괄호와 엄격한 구문을 사용하고, YAML은 들여쓰기 기반입니다. JSON은 API에서 더 널리 지원됩니다. YAML은 더 읽기 쉽지만 파싱이 복잡합니다.
// 흔한 JSON 오류
JavaScript에서는 허용되지만 엄격한 JSON에서는 유효하지 않은 표기입니다.
| 잘못됨 | 올바름 |
|---|---|
| {'a': 1} | {"a": 1} |
| {"a": 1,} | {"a": 1} |
| {a: 1} | {"a": 1} |
| {"a": undefined} | {"a": null} |
| {"a": 01} | {"a": 1} |
// 코드에서 JSON 포맷하기
JavaScript JSON.stringify(obj, null, 2) Python json.dumps(obj, indent=2, ensure_ascii=False) PHP json_encode($obj, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE) Go json.MarshalIndent(v, "", " ") Java new ObjectMapper().writerWithDefaultPrettyPrinter() CLI jq . file.json CLI python3 -m json.tool file.json
>> 더 많은 질문
Q: 들여쓰기는 스페이스 2칸, 4칸, 탭 중 무엇이 좋나요?
A: 팀 규칙에 따르면 되며 일관성이 가장 중요합니다. 스페이스 2칸은 웹 개발에서 흔하고 깊은 중첩에서 폭을 아끼며, 4칸은 Python에서 자주 쓰이고, 탭은 각자 표시 너비를 조절할 수 있습니다. 전송용으로는 들여쓰기 없는 minified JSON이 가장 작습니다.
Q: JSON이 유효하지 않다고 나오는 이유는?
A: 흔한 원인은 큰따옴표 대신 작은따옴표, 따옴표 없는 키, 마지막 요소 뒤 쉼표, 주석, undefined, NaN, 숫자 앞의 0입니다. 오류 메시지에는 보통 처음 실패한 줄과 열이 표시됩니다.
Q: JSON5와 JSONC는 무엇이며 JSON과 어떤 관계인가요?
A: JSON5와 JSONC는 주석, 후행 쉼표 등을 허용하는 확장 형식입니다(tsconfig.json, VS Code 설정 등). 유효한 JSON이 아니므로 포매터는 엄격한 JSON을 기대합니다. 먼저 주석과 후행 쉼표를 제거하세요.