JSON 위 TOML 의 가장 큰 이점: 진짜 날짜
Number
- 정수 — 64-bit signed.
42,-17,1_000_000(밑줄 자릿수 그룹화). 16 진/8 진/2 진 리터럴:0xff,0o755,0b1010. - Float — IEEE 754 double.
3.14,1e6,1.5e-3. 특수 값:inf,-inf,nan(literal — JSON 이 이건 허용 안 함).
Boolean
소문자만: true 또는 false. True 안 됨, TRUE 안 됨, yes 안 됨. Norway 문제 여기 못 일어남 — 각 표기 한 가지.
날짜와 시간 — 킬러 feature
- Offset Date-Time — timezone 든 RFC 3339.
1979-05-27T07:32:00-08:00. 가장 정밀한 형태. - Local Date-Time — timezone 없음.
1979-05-27T07:32:00. - Local Date —
1979-05-27. - Local Time —
07:32:00.
네이티브 날짜가 datetime 객체 (Python), chrono::DateTime (Rust), time.Time (Go) 로 직접 파싱. config loader 에 'ISO 8601 string 으로 파싱' 코드 없음.
원칙: 데이터에 날짜 있으면 JSON 위 TOML 선호. JSON 이 '관행상 string' + 파서 통과 강제; TOML 이 박스 밖 강타입 값. downstream 코드 짧고 버그 적음.