JSON to Java
Java DTO와 validation 중심으로 JSON 응답 모델을 정리합니다.
Timestamp
초/밀리초/마이크로초 단위 Unix 값을 자동으로 감지해 ISO 8601, RFC 2822, 타임존별 로컬 시간, 상대 시간으로 동시에 변환합니다. 서버 로그를 분석하거나 API 응답에서 전달받은 숫자를 즉시 해석할 때 사용하세요.
로그 수집기, 데이터베이스, 메시지 큐마다 시간 표현 방식이 다릅니다. Kafka 헤더는 밀리초 Unix, 일부 서비스는 마이크로초, 프런트엔드에는 ISO 8601 문자열이 내려갑니다. 숫자만 보고 초인지 밀리초인지 헷갈리면 잘못된 시간대를 보며 디버깅에 한참을 허비하기 쉽습니다.
이 도구는 10자리는 초, 13자리는 밀리초, 16자리는 마이크로초로 자동 판별해 즉시 사람이 읽는 형식으로 바꿔 줍니다. 로그에서 복사한 RFC 2822 스타일 문자열(`Tue, 14 Nov 2023 22:13:20 GMT`)도 그대로 붙여 넣으면 나머지 포맷으로 펼쳐집니다.
1. `Date.now()`는 밀리초를 반환하지만 Python `time.time()`이나 Go `time.Now().Unix()`는 초를 반환합니다. 시스템을 넘나들 때는 단위 변환이 필수입니다.
2. ISO 문자열에 `Z`나 오프셋이 없으면 브라우저는 로컬 타임존으로 해석합니다. 서버 측 파서와 결과가 다를 수 있으니 항상 오프셋을 포함한 문자열을 사용하세요.
3. 마이크로초나 나노초를 JavaScript Number로 다루면 정밀도를 잃습니다. 정밀한 계산이 필요한 경우 BigInt 또는 문자열로 유지하는 것이 안전합니다.
Q. 미래 시점의 타임스탬프도 변환되나요? 네, Date가 표현할 수 있는 범위(약 ±100,000년)까지 변환합니다.
Q. 음수 타임스탬프(1970-01-01 이전)는? 입력은 허용되고 ISO 출력은 `-`가 붙은 역사적 날짜로 표시됩니다.
Q. 입력 데이터가 저장되나요? 아니요, 이 도구는 브라우저에서만 동작합니다.
같은 워크플로에서 바로 이어 쓸 수 있는 JSON2Class 도구를 연결해 두었습니다.
Java DTO와 validation 중심으로 JSON 응답 모델을 정리합니다.
nullable 규칙과 data class 구조를 빠르게 검토합니다.
프런트엔드 API 계약을 interface 형태로 정리합니다.
샘플 JSON을 정리한 뒤 변환기에 다시 넣어 타입 추론을 안정화합니다.