設定ファイル変換
1 つの設定形式を貼り付けると、入力と同時に残り 2 つの形式が得られます。
使い方
- 設定内容を貼り付けてください(YAML、JSON、Java の .properties)。形式は自動判定され、入力するそばから下に残り 2 つの形式が表示されます。押すボタンはありません。
- 判定が違う場合は入力形式を自分で選んでください。インデントをスペース 2 つか 4 つにするかを選び、Spring 風のフラットなキーを保ちたいときは「ドット区切りのキーを展開」をオフにします。
- 各結果は個別にコピーまたはダウンロードできます。ファイル名は config.yaml、config.json、config.properties です。
例
入力(YAML)
server: port: 8080 name: order-service debug: true
JSON と Properties
{
"server": {
"port": 8080,
"name": "order-service"
},
"debug": true
}
Properties
----------
server.port = 8080
server.name = order-service
debug = true既定のルールのみの例です。入力は YAML と判定されるため、8080 は数値のまま、true は真偽値のままです。Properties には型がないため、同じ値が文字列の 8080 と true として出力されます。入力が .properties の場合は最初から最後まで文字列として扱われます。
ルール・制限・既知の問題
- 対応するのは YAML、JSON、Java の .properties の 3 形式だけです。TOML、INI の [section] ヘッダー、XML、CSV には対応していません。
- YAML は設定用のサブセットとして対応しています。ブロックのマッピング、シーケンス、フローの {…} / […]、引用符付きスカラー、| / > のブロックスカラーです。アンカー(&)、エイリアス(*)、!タグ、<< マージキー、? 複合キーは推測せずエラーとして報告します。
- 変換するのは最初の YAML 文書だけです。後続の --- は無視し、その旨を報告します。
- コメントは引き継ぎません。3 つの形式ではコメントの置き場所が異なるため、間違った位置に残ったコメントは、コメントがないより有害です。
- Properties には型がありません。すべての値が文字列なので、port = 8080 は JSON で "8080" になり、8080 にはなりません。数値、真偽値、null が残るのは入力が YAML か JSON のときだけです。
- 非 ASCII のテキストは \uXXXX にエスケープせず、UTF-8 のまま出力します。Java の Properties.store() は ISO-8859-1 で書き出すため、Java プロジェクトに貼り付ける場合はファイルを UTF-8 で保存してください。
- 安全な範囲を超える整数(12345678901234567890 など)は、数値に丸めず、入力したとおりの桁の文字列として保ちます。
- キーの順序は入力に従います。並べ替えのオプションはありません。
- 最上位の配列や単独の値は properties として出力できません。そのパネルだけがエラーを報告し、ほかのパネルは変換を続けます。
- ファイルのアップロード、URL パラメータ、履歴はありません。すべてブラウザ内で動作し、何もアップロード・保存されません。
- 改行を含む文字列は、YAML で | のブロックスカラーではなく "a\nb" として出力します。
- 制限: 100 万文字、ネスト 64 階層です。いずれかを超えると結果を切り捨てずにエラーを返します。20 万文字を超えると、入力が止まって約 0.6 秒後に結果が更新されます。出力の改行は LF で末尾に改行は付きません。
関連ツール
設定が正しい形式になったあとによく使われるツールです。