TOML ↔ JSON コンバーター
変換
TOML と JSON は、同じ階層構成データを非常に異なる構文でエンコードする。このコンバーターは両方向に進む:`Cargo.toml` または `pyproject.toml` を貼り付けて、リンターやジェネレーターが期待する JSON シェイプを取得するか、JSON 構成をフィードして、Rust/Python ツーリングに同梱される TOML バージョンを取得する。実際に登場する TOML の部分を処理する — トップレベルテーブル `[a.b]`、array-of-tables `[[a.b]]`、インラインテーブル `{ k = v }`、インライン配列、基本文字列、整数、アンダースコア区切りの浮動小数点数、ブール値、ISO 日付と日時。
—
使い方
- 方向を選ぶ。`TOML → JSON` は TOML を JSON オブジェクトに解析する;`JSON → TOML` は逆をする。
- ソースを貼り付ける。エラーは解析を壊した行 / 文字を指す。
- 結果をコピーする。TOML 出力はスカラーを最初にグループ化し、次に `[table]` セクション、次に `[[array.of.tables]]` ブロック — ほとんどのリンターが期待する順序。
よくある質問
- 完全な TOML 仕様をカバーする?
- テーブル、ドットキー、インラインテーブル、インライン配列、複数行配列、基本文字列、複数行基本文字列、リテラル文字列、`_` 区切りの整数、浮動小数点数、ブール値、RFC 3339 日時、array-of-tables を処理する。あまり一般的でない機能(オフセット日時の算術、エスケープシーケンスのエッジケース、非常に深くネストされた混合値)はラウンドトリップするが、手編集が必要かもしれない。
- JSON → TOML がキーを並べ替えるのはなぜ?
- TOML は、セクション内のすべての `[table]` ブロックの前にスカラーが来ることを要求する。`[table]` が開くと、次のキーセットはそれに属する。シリアライザはスカラーを最初に並べ替えるので、出力が正しく解析される — トップレベルのフィールドの意味は変わらない。