TOML ⇄ JSON 変換
Rust/Python 設定 · 双方向変換
TOML 変換
準備完了
ABOUT
TOML ⇄ JSON 変換について
TOML と JSON 形式間で変換。Rust、Python プロジェクト設定ファイルの編集が容易になります。
Rust Cargo、Python Poetry、Hugo 設定 — TOML は静的型言語とスクリプト言語エコシステムでますます普及。ローカル相互変換で cargo や python -c をインストールせず pyproject.toml 構造を確認できます。
DEEP DIVE
TOML ⇄ JSON 変換を詳しく
TOML(Tom's Obvious Minimal Language)は Rust Cargo、Python Poetry/pyproject.toml、Hugo 設定などのエコシステムで普及。JSON より読み書きしやすいが、JavaScript はネイティブ非対応。JSONSort は TOML ↔ JSON ローカル双方向変換を提供、Python tomllib や Rust toml crate のインストール不要。
変換は表([section])とキー値構造を保持:TOML table は JSON オブジェクト、array of table は JSON オブジェクト配列に対応。Rust/Python プロジェクト設定構造の素早い確認に最適。
TOML table と dotted key は JSON ではいずれもネストオブジェクトにマップ。[[array of tables]] は JSON オブジェクト配列に対応。変換後はツリービューで [dependencies] など section が正しく展開されたか確認、dotted key と table 競合による上書きを回避。
FEATURES
主な機能
TOML → JSON
TOML 設定ファイルを JSON オブジェクトに解析。
JSON → TOML
JSON から正しい形式の TOML テキストを生成。
Table サポート
[section] と [[array of tables]] を正しく処理。
型保持
文字列、整数、浮動小数点、ブール、日時を正しくマッピング。
ファイルインポート
.toml ファイルのドラッグ&ドロップインポート解析。
ローカル変換
Cargo.toml などに私有 crate ソース設定が含まれる可能性があり、ローカルがより安全。
日時
TOML offset datetime を ISO 8601 JSON 文字列に変換。
整数/浮動小数点
TOML 整数と浮動小数点を区別、JSON で型を正しく保持。
HOW TO USE
使用手順
-
1
TOML または JSON を貼り付け
-
2
変換方向を選択
-
3
結果をコピーしてエクスポート
-
4
変換失敗時はエラー表示を確認し、ソースファイルの構文を修正して再試行
-
5
結果をフォーマットツールで整形、または下流スクリプト用にエクスポート
WORKFLOW
典型的なワークフロー
データインポートから結果エクスポートまでの完全フロー。チームで TOML ⇄ JSON 変換の使い方を統一。
TOML をインポート
Cargo.toml / pyproject.toml を貼り付け、またはファイルをドラッグ。
JSON を確認
ツリービューで table と array of tables 構造を確認。
編集(任意)
JSON 側で修正後 TOML に戻して PR 提出。
パイプライン統合
TOML 非対応の内部ツール用に JSON をコピー。
USE CASES
適用シーン
Rust 開発
Cargo.toml を JSON に変換し、ツリービューで依存構造を閲覧。
Python 開発
pyproject.toml を JSON に変換、CI スクリプト読み取りが容易。
DevOps
TOML 設定と JSON 設定管理ツールチェーンを統一。
テクニカルライティング
ドキュメントの TOML 例の横に JSON 同等形式を提供。
Rust エコシステム
Cargo.toml workspace メンバーと features を JSON に変換し CI マトリクス構築。
静的サイト
Hugo config.toml を JSON に変換、headless CMS 設定同期に連携。
TIPS
使用のコツ
- Cargo.toml 変換後 [dependencies] 下の crate バージョンキーを確認。
- TOML 日時型は JSON では通常 ISO 8601 文字列に変換。
- JSON → TOML 時、深いネストオブジェクトは dotted keys または subtable に変換。
- YAML ツールと比較:Rust エコシステムは TOML、K8s エコシステムは YAML。プロジェクトに応じて選択。
- 変換失敗時、TOML に重複キーや未閉じ文字列がないか確認。
- 変換結果をフォーマットツールで整形、Git diff レビューが容易。
- Cargo workspace.dependencies を JSON に変換後、パス抽出でバージョン確認。
- JSON → TOML 後、dotted key と [table] を同一階層で混在させない。
- 変換失敗時、TOML に重複キーや未閉じ文字列がないか確認。
- YAML ツールと比較:プロジェクトエコシステムに応じてソース形式を選択、JSON を中間橋渡しに。
LOCAL VS ONLINE
ローカル vs オンラインツール
JSONSort は純フロントエンドアーキテクチャを堅持。以下の比較が、開発データ処理にローカルツールが適している理由を示します。
TROUBLESHOOTING
よくある誤解とトラブルシューティング
実際の使用で起こりやすい問題と推奨対処法。試行錯誤の時間を削減します。
重複キーエラー
推奨:TOML は重複定義不可。dotted key と table 競合を確認。
TOML へ戻すと順序変化
推奨:機能等価。順序依存がある場合は手動調整。
日付形式が不正
推奨:TOML datetime にタイムゾーンがあるか確認。JSON 側は ISO 文字列。
特殊文字キー
推奨:ドット含むキーは引用符で囲む "key.with.dots"。
FAQ
よくある質問
Cargo.toml に対応?
標準 TOML 1.0 構文をサポート。Cargo 固有セマンティクス(workspace など)は構造に従って変換。
JSON から TOML 変換で情報損失は?
JSON で表現可能な構造はすべて TOML に変換可能。TOML コメントは JSON 方向で失われます。
YAML ツールとの違いは?
TOML と YAML は構文が異なります。ソースファイル形式に応じて対応ツールを選択。
inline table に対応?
{ key = "value" } 形式をサポート、JSON ネストオブジェクトに変換。
コメントが失われる場合は?
TOML コメントは JSON に入れられません。.toml ソースファイルをコメント源として保持。
データはサーバーにアップロードされる?
いいえ。JSONSort のすべてのツールはブラウザ内ローカルで動作し、入力内容はバックエンドサーバーに送信されません。
登録やインストールが必要?
不要です。ページを開くだけで使用でき、アカウント不要、クライアントダウンロード不要、PWA オフラインキャッシュにも対応。
どのくらいのファイルサイズに対応?
ブラウザメモリに依存しますが、通常数 MB 級のデータをスムーズに処理できます。超大ファイルは先に分割するかマージ・クリーンツールをご利用ください。