TOMLからJSONへのコンバーター

TOML設定をJSONに変換 — テーブル、テーブル配列、すべてのTOMLデータ型をサポート

共有:

TOMLからJSONへのコンバーター


                    

なぜTOMLとJSONの間で変換するのか?

TOMLは人間が読みやすい設定ファイル(RustのCargo.toml、PythonのpyProject.toml、HugoのConfig.toml)用に設計されていますが、JSONはWeb APIとJavaScriptツールの標準です。TOML設定をJSON APIに送信したり、JavaScriptツールと統合したり、異なるエコシステム間でデータを共有したりする場合、このツールでギャップを即座に埋められます。

🔤

完全な型変換

TOMLの文字列、整数、浮動小数点数、ブール値、日付 — すべてJSONの同等物に正しく変換

📋

テーブルとテーブル配列

[テーブル]、[[テーブル配列]]、インラインテーブル{key = value}構文を正しく処理

フォーマット済みJSON出力

出力は読みやすくインデントされて表示 — 1行の圧縮JSONではない

3ステップでTOMLをJSONに変換する方法

1

TOML設定を貼り付け

Cargo.toml、pyproject.toml、またはその他のTOML設定ファイルの内容を貼り付け

2

自動変換

ツールがTOML構造を解析して同等のJSONに即座に変換

3

JSONをコピー

生成されたJSONをAPIコールやJSONを受け入れる他のツールで使用するためにコピー

TOMLからJSONへの変換のユースケース

🦀

Cargo.tomlの解析

依存関係を解析したりバージョン情報を抽出するCIスクリプト用にCargo.tomlをJSONに変換

📝

Hugo設定

他のツールやデータソースとの統合のためにHugoのconfig.tomlをJSONに変換

🔌

APIへのデータ送信

TOML形式のパラメーターをREST APIやGraphQLエンドポイントに送信するためにJSONに変換

🔍

形式の学習

2つの形式の関係を理解するためにTOML→JSONの構造マッピングを把握

TOMLのベストプラクティス

✓ ネストされたテーブルにはドット記法を使用

TOMLは[server.database]をネストされたテーブルの省略記法としてサポートし、ネストされたJSONキーよりも設定を読みやすくします。

✓ パスにはリテラル文字列を使用

'C:\Users\path'のようなシングルクォートのリテラル文字列はエスケープシーケンスを処理しません — Windowsパスやregexパターンに最適です。

✓ コメントを積極的に使用

JSONに対するTOMLの主なアドバンテージはコメントのサポートです。保守性のためにすべての設定パラメーターを#コメントで文書化してください。

✓ DateTime型変換に注意

TOMLのネイティブRFC 3339日付(2024-01-15T10:30:00Z)はJSONでは文字列になります。JSONを使用するコードはそれらを日付オブジェクトとして再解析する必要があります。

❓ よくある質問

TOMLのYAMLとJSONに対するアドバンテージは何ですか?

TOMLはYAMLより単純(インデントベースの構造なし)、JSONより読みやすく(コメントをサポート)、明示的な型があります(整数、浮動小数点数、日付が別個)。アプリケーション設定ファイルで読みやすさが重要な場合に最適な選択です。

TOMLの[[テーブルの配列]]とは何ですか?

[[servers]]は'servers'という名前のオブジェクト配列を定義します。[[servers]]の各出現が配列に新しいオブジェクトを作成します。以下のキーはそのオブジェクトに属します。JSONの同等物:{"servers": [{...}, {...}]}。

どの主要なツールがTOMLを使用していますか?

Rust(Cargo.toml)、モダンなPythonパッケージング(pip/poetryのpyproject.toml)、Hugoスタティックサイトジェネレーター、Gitea、Lighthouse CI、多くのGoツールがTOMLを使用しています。

TOMLコメントはJSON出力に保存されますか?

いいえ。JSONにはコメント構文がないため、TOMLの#コメントをJSON出力で表現することはできません。コメントが重要な決定を文書化している場合は、別のREADMEに保存するかJSONでは_commentキーを使用してください。