> 포맷 | 검증 | 축소 <

// JSON 데이터를 즉시 포맷, 검증 및 축소

[FORMAT]

예쁜 출력

사용자 정의 가능한 들여쓰기로 JSON을 정리합니다. 2칸, 4칸 또는 탭 중 선택하세요.

[MINIFY]

압축 출력

모든 공백을 제거하여 JSON을 축소합니다. 프로덕션 및 API용 크기를 줄입니다.

[VALIDATE]

구문 검사

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 객체 리터럴은 훨씬 느슨합니다.

// 다른 언어