TOML → JSON / boundary guide

TOMLの日時・整数・空値を、意味ごと受け渡す

見た目が似た値をそのまま変換せず、日時の基準・整数の精度・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-01local date。日付だけで、時刻やタイムゾーンを補わない。
2026-10-01T12:30:00local datetime。利用側のタイムゾーンを勝手に決めない。
...+09:00offset datetime。明示されたoffsetを保持し、別の地域時刻へ自動変換しない。
9007199254740993JavaScript Numberの安全整数範囲を超えるため、識別子なら文字列で保持する。
"" / キーの省略空文字は文字列、キーの省略は未指定。どちらもJSON nullではない。

TOMLにnullリテラルはない

JSONの null を表したい場合、TOMLの空文字・false・0を代用してはいけません。キーを省略するのか、文字列の "null" とするのか、受け側の契約を決めてから移行します。

既存の変換ツールは対応しているTOML値を端末内で変換します。日時の意味付けやタイムゾーン変換は行いません。

レビューケース

case判定確認
ordinary-valuesconvertboolean・通常の整数・配列を既存変換器で検算。
date-timereview元のTOML型と、受け側が期待する時刻基準を文書化。
large-integerattention通常のJavaScript数値で丸めず、必要なら文字列で保持。
empty-vs-nullclarify / reject空文字・省略・文字列nullをJSON nullとして扱わない。

変換を実行する

値そのものを端末内で変換・確認する場合は既存のTOML→JSON変換を使います。このガイドは、日時・精度・空値の判断材料と確認票だけを提供します。

日本語の変換ツール / English converter