本文へスキップ

JSON⇄TOML変換

JSON ⇄ TOML

入れ子のオブジェクトをテーブル見出しに対応づけて、JSONとTOMLを相互に変換します。

同じ変換ツールのJSON ⇄ TOML側です。`Cargo.toml`や`pyproject.toml`、`netlify.toml`をスクリプトが読める形に変えたいとき、あるいはその逆のときに使います。TOMLは値の種類についてJSONより厳しく、その差は思わぬ結果としてではなく警告として出ます。

🔒 ブラウザの中だけで動きますjsontomlconvert
入力形式
YAML として読んでいます。
出力形式

入力

.yaml・.json・.toml ファイルを置く

このタブの中で読みます。アップロードはしません。

JSON 出力

npmから持ってこず、ここで書いています。だから扱う範囲は受け継いだものではなく選んだものです。この一覧にあるものは、誤って読む代わりに名指しして断ります。

使い方

  1. TOMLかJSONを貼り付けます

    `[section]`の見出しとクォートのないキーがはっきりしているので、この2つを見分けるのは簡単です。それでも確実にしておきたいときのために、入力形式の選択欄があります。

  2. 出力形式をTOMLかJSONにします

    TOMLへ向かうときは、形が許すかぎりインラインテーブルではなく`[section]`の見出しとして出します。人が手で書いた設定ファイルはそう見えるからです。

  3. TOMLが持てなかったものを確認します

    nullは落ち、TOMLから出てきた日付・時刻はJSONに日付型がないので文字列になります。どちらも起きたときは警告に並びます。

よくある質問

日付が文字列になってしまうのはなぜですか

TOMLにはオフセット付きの日時、ローカル日付、ローカル時刻が正式な型としてありますが、JSONにはどれもありません。文字をそのまま運ぶのが、かろうじて損失がないように見える唯一の方法で、TOMLへ戻すと元の日付リテラルではなくクォートされた文字列になります。

型が混ざった配列も変換できますか

JSONへならできます。TOMLへはそのまま出します。TOML 1.0は型の混ざった配列を許していますが、実際に使われている多くのTOMLリーダーと、TOML 0.5は許しません。コミットする前にもう一度見ておく価値があります。

キーの重複は見つけてくれますか

見つけます。同じキーを2回定義したり、テーブルを定義し直したりするのはTOMLのエラーであり、寛容なリーダーのように最後の値を黙って採るのではなく、エラーとして報告します。

ここから渡せます

次の一手

このツールが出したものをそのまま受け取れる道具です。