JSONツール

JSONをTOMLに変換設定の構造を確かめてから保存

点を含むキーやサーバー配列をサンプルで確認できます。表形式を変えても入力は書き換えません。

JSONをTOMLに変換

TOMLをJSONに変換

JSON入力

このブラウザー内で処理します。入力を送信・保存しません。

TOML出力

出力設定

型プレビュー

結果が古いため、書き出しできません。

JSONをTOMLに変換すると、ひとつの設定オブジェクトを名前付きのセクションで読めるようになります。設定ファイルの移し替えで気を付けたいのは、見た目よりも値の意味です。

たとえば日付の文字列を日時型に変えたり、点を含むキーを階層に分割したりすると、利用側の動きが変わります。この変換ツールは引用符で区別を保ち、出力後にも構造を照合します。

JSONをTOMLに変換するときの確認点

キー名と階層を混同しない

JSONをTOMLに変換する際、入れ子のオブジェクトには表見出しを付けます。見出しの各キーを個別に引用するため、"api.version"という名前とapiの下のversionを区別できます。

入れ子のツリーが名前付きの区画と繰り返すオブジェクトのカードに変わる図。

表せない値をそのまま見つける

配列のnullを削除すると後ろの要素の位置まで変わります。ここでは削除も空文字への置換も行わず、その値のパスを表示して変換を止めます。失敗後は以前の結果も保存できません。

強調された欠損値によって出力文書への変換が止まる図。

表示形式と更新タイミングを選ぶ

01

短い設定ではインラインも試す

通常の表形式では、値の所属を守るため単純な代入を子テーブルより先に出します。インライン形式はルートの各キーを一行で表現します。混在配列内のオブジェクトもインラインになります。

02

まとめて編集するときは手動へ

自動変換は編集が止まってから350ミリ秒後に実行します。オフなら変換ボタンかCtrl/Cmd+Enterを使えます。入力や選択肢が変わると、照合が終わるまでコピーと保存が無効になります。

03

エラーと型のパスを読む

型一覧は50件ずつ追加し、先頭500ノードまで表示します。総数には省略部分も含みます。JSON Pointerではキー中の/が~1、~が~0になり、エラーには入力の行と列も付きます。

値を変えずに表現を組み替える

親ごとにテーブル配列を生成

オブジェクトだけの配列は[[見出し]]を繰り返します。子テーブルや子のテーブル配列は現在の親要素に属します。空オブジェクトと空配列は別々に残り、配列の順序も維持されます。

大きい整数は元のトークンから

符号付き64ビットの整数はJavaScriptのNumberを経由せず出力します。小数や指数の表記も保持します。整数表記の-0だけは符号を残すため浮動小数点の-0.0に変わります。

文字列を日時や数値にしない

"007"や"true"、日付らしい文字は引用したままです。空のキーや日本語の名前も扱えます。改行、制御文字、引用符、バックスラッシュは基本文字列のエスケープとして出力します。

別のパーサーで読み直す

生成した文書の形、配列の長さ、型、文字列を元のツリーと照合します。整数の読み取りにはBigIntを使います。出力器はTOML 1.0互換の構文だけを使い、照合成功後に保存できます。

受け付けるデータと対象外の処理

ルートは名前付きのオブジェクト
配列や文字列だけのJSONは受け付けません。必要なら利用目的に合うキーで包んでください。空の{}は有効で、空のTOML文書になり、保存ファイルは0バイトです。
nullや構文の修復はしない
どの深さのnullもエラーです。コメント、末尾カンマ、JSON5、デコード後に重複するキーも拒否します。値の削除、並べ替え、空白の切り詰め、既定値の補完は行いません。
数値とUnicodeの範囲
整数は-9223372036854775808から9223372036854775807までです。無限大になる浮動小数点や、非ゼロなのにゼロになる値を拒否します。ただし通常の小数の丸めは利用側で起こり得ます。単独サロゲートも扱えません。
設定文書向けの処理量
入力は500,000文字、深さ100、50,000ノードまで、出力は2,000,000文字までです。表示の500件上限は保存内容を切り捨てません。ファイル読込、URL取得、一括変換、履歴保存は対象外です。
アプリの設定項目は別に確認
package.jsonを変換してもCargoやpyprojectで使える設定になるとは限りません。フィールドの要件は利用するアプリで確認してください。元の空白、エスケープ表記、全体のキー順は保持しません。

JSONをTOMLに変換する際の質問

手軽に変換するにはどうすればよいですか?

このJSONをTOMLに変換するツールへオブジェクトを貼り付け、表形式を選びます。自動実行後に型を確認できます。連続して修正する場合は手動に切り替え、最後にまとめて変換してください。

オブジェクトの配列は入れ子にできますか?

できます。通常の表形式では、空でないオブジェクト配列をテーブル配列として生成し、子の表を対応する親要素の直後に出します。型が混ざった配列内のオブジェクトはインライン形式です。

なぜJSONのルートはオブジェクトである必要がありますか?

TOML文書は名前付きの値を持つルートテーブルです。匿名の配列には書き込むキーがないため、外側の名前を決める必要があります。itemsなどの名前をツールが勝手に追加することはありません。

TOMLにnullがないのはなぜですか?

TOMLの値の種類にはnullが含まれません。省略と空文字と既定値は別の意味なので、このページでは最初のnullを報告します。設定を読むプログラムの仕様に従って修正してください。

往復変換しても完全に同じですか?

一般には保証できません。対応範囲の整数、文字列、配列構造は検証しますが、小数は読み手の浮動小数点で丸められる場合があります。見た目の書式も変わり、このページで逆変換は実行しません。

特定の設定で問題が起きましたか?

設定の構造を見直す

JSONをTOMLに変換し、サンプルの点付きキーとサーバーごとの子テーブルを確かめてから、自分の設定に進んでください。