> 포맷 | 검증 | 축소 <
// 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: 정리하면 데이터가 바뀌나요?
A: 아니요, 공백과 들여쓰기만 바뀝니다. 키 정렬을 명시적으로 켜지 않는 한 키 순서와 값은 그대로입니다.
Q: 큰 숫자는 정밀도를 잃나요?
A: JavaScript는 숫자를 64비트 부동소수점으로 읽으므로 9,007,199,254,740,991(2^53−1)보다 큰 정수는 정밀도를 잃을 수 있습니다. ID가 그렇게 크다면 문자열로 저장하세요.
Q: JSON과 JavaScript 객체는 어떻게 다른가요?
A: JSON은 엄격한 텍스트 형식으로, 키와 문자열은 큰따옴표가 필수이고 함수, undefined, 주석, 후행 쉼표는 사용할 수 없습니다. JavaScript 객체 리터럴은 훨씬 느슨합니다.