TOML → JSON / boundary guide
TOMLの日時・整数・空値を、意味ごと受け渡す
見た目が似た値をそのまま変換せず、日時の基準・整数の精度・null相当の扱いを先に確認します。
TOML → JSON / boundary guide
見た目が似た値をそのまま変換せず、日時の基準・整数の精度・null相当の扱いを先に確認します。
TOMLの日時はJSONへ移すだけでタイムゾーンが決まるわけではありません。大きな整数はJavaScriptの通常の数値で精度を失うことがあり、空文字やキーの省略はnullではありません。
date = 2026-10-01
datetime = 2026-10-01T12:30:00
offset_datetime = 2026-10-01T12:30:00+09:00
account_id = "9007199254740993"
label = ""
# null はTOMLの値として存在しない| TOMLの例 | 移行前に確認すること |
|---|---|
2026-10-01 | local date。日付だけで、時刻やタイムゾーンを補わない。 |
2026-10-01T12:30:00 | local datetime。利用側のタイムゾーンを勝手に決めない。 |
...+09:00 | offset datetime。明示されたoffsetを保持し、別の地域時刻へ自動変換しない。 |
9007199254740993 | JavaScript Numberの安全整数範囲を超えるため、識別子なら文字列で保持する。 |
"" / キーの省略 | 空文字は文字列、キーの省略は未指定。どちらもJSON nullではない。 |
JSONの null を表したい場合、TOMLの空文字・false・0を代用してはいけません。キーを省略するのか、文字列の "null" とするのか、受け側の契約を決めてから移行します。
既存の変換ツールは対応しているTOML値を端末内で変換します。日時の意味付けやタイムゾーン変換は行いません。
| case | 判定 | 確認 |
|---|---|---|
ordinary-values | convert | boolean・通常の整数・配列を既存変換器で検算。 |
date-time | review | 元のTOML型と、受け側が期待する時刻基準を文書化。 |
large-integer | attention | 通常のJavaScript数値で丸めず、必要なら文字列で保持。 |
empty-vs-null | clarify / reject | 空文字・省略・文字列nullをJSON nullとして扱わない。 |
値そのものを端末内で変換・確認する場合は既存のTOML→JSON変換を使います。このガイドは、日時・精度・空値の判断材料と確認票だけを提供します。