コンテンツへスキップ

TOMLバリデーター

TOMLファイル(Cargo.toml、pyproject.toml、Hugo、Netlifyの設定など)を検証し、ビルド時にエラーが発生するのを防ぎます。バリデーターは入力をTOML仕様に照らして解析し、最初のエラーについて、行、列、パーサーによる説明を報告します。重複キー、テーブルの再定義、無効な日付などが含まれます。有効なファイルではテーブル数とキー数、トップレベルのキーが表示されるため、構造をひと目で確認できます。

リセット

よくある質問

TOMLバリデーターは何をチェックしますか?

キー、文字列、数値、ブール値、日付と時刻、配列、インラインテーブル、テーブル、テーブルの配列を、TOML仕様の定義どおりに解析します。値の欠落、引用符で囲まれていない文字列、不正なエスケープなどの逸脱はエラーとして報告されます。有効なファイルには構造の概要が表示されます。

エラーにはどのような情報が含まれますか?

各エラーには、解析が停止した行と列、およびパーサーによる詳細が表示されます。たとえば、日付が無効である場合や、定義済みのテーブルまたは値を再定義しようとした場合などです。行番号と列番号は1から始まります。後続のエラーは最初のエラーに起因することが多いため、最初のエラーのみ表示されます。

キーやテーブルが再定義されたと報告されるのはなぜですか?

TOMLでは、同じテーブル内で同じキーを二度使用できず、[server]のようなテーブルヘッダーも一度しか記述できません。portがすでに設定された[server]テーブルの後にserver.portのようなドット区切りキーを定義することも、再定義とみなされます。修正するには、項目を一箇所にまとめてください。

テーブルとキーはどのように数えますか?

「テーブル数」は、インラインテーブルやテーブルの配列の各項目を含め、ルートより下にあるすべてのテーブルを数えます。「キー数」は、テーブルまたはテーブルの配列以外の値を持つキーをすべて数えます。そのため、文字列のリストは1つのキーとして数えられます。「トップレベルのキー」には、ルートにある名前が最大50件まで表示されます。

日付と時刻もチェックされますか?

はい。オフセット付き日時、ローカル日時、ローカル日付、ローカル時刻をすべて検証します。月が13、時刻が25など、あり得ない値も対象です。たとえば05/27/1979のような別形式の日付はTOMLの日付ではないため、文字列として引用符で囲む必要があります。

どのような文字列とエスケープが使えますか?

二重引用符で囲む基本文字列では、\n、\t、\"、\uXXXXなどのエスケープを使えます。一重引用符で囲むリテラル文字列では、すべての文字が記述どおりに扱われます。どちらにも三重引用符を使った複数行形式があります。未知のエスケープや閉じられていない文字列は、位置とともに報告されます。

非常に大きな整数も受け付けられますか?

はい。TOML仕様で定められた64ビットの上限までの整数(9223372036854775807など)は受け付けられます。その範囲を超える整数、先頭のゼロ、数字の間にないアンダースコアはエラーになります。

バイトオーダーマークやWindowsの改行コードは問題になりますか?

いいえ。先頭のUTF-8バイトオーダーマークは無視され、LFとCRLFのどちらの改行コードも受け付けられます。エスケープされていない文字列内の制御文字はエラーとして報告されます。

CargoやPoetryのように、キーの意味もチェックしますか?

いいえ。バリデーターがチェックするのはTOMLの構文と構造のみです。ファイルが有効なTOMLであっても、CargoやPythonのビルドバックエンドが認識しないキーを含むことがあります。ツール固有の設定を確認する前に、このツールで構文上の問題を除外してください。

入力のサイズ上限はどれくらいですか?また、変換できますか?

入力は最大5 MiB、入れ子になった配列とインラインテーブルは最大64階層まで対応しています。有効なTOMLをJSONやYAMLなどの形式に変換するには、Data Format Converterをお使いください。

OneClick Proについて

OneClick Proは、日々の作業に役立つ150以上のウェブツールを集めた無料コレクションです。画像や単位の変換、コードの整形と検証、ドメインやSEOの確認、テキスト、日付、数値の処理などに利用できます。すべてのツールは登録やサブスクリプションなしで使えます。入力した内容は結果の計算にのみ使用され、保存されることはありません。単発の作業に使える便利なツールボックスとして、または毎日使うツールをブックマークしてご活用ください。