設定ファイル変換
JSON・YAML・TOMLを相互に変換し、失われる情報も確認できます。入力内容はサーバーに送信しません。
ツールを準備しています。
ユーザーの評価
まだレビューはありません。このツールを使ったことがあれば、最初のレビューを書いてください。
設定ファイル変換の詳しい使い方ガイド
使い方と例を確認し、知りたいことはトピックから探せます。
はじめに確認すること
- 扱う形式
- JSON、YAML、TOMLの3つを相互に変換します。
- 元の形式
- 自動で判別しますが、自分で選ぶこともできます。
- お断りするもの
- YAMLのアンカー(&)・エイリアス(*)・マージキー(<<)・タグ(!!)・複数のドキュメント(---)。
- お知らせする損失
- コメントが消える、日付は文字になる、大きな整数は値が変わることがある。
- TOMLの制約
- 空の値(null)を保持できないため、理由を示して止めます。
- YAMLの対応
- インデントによる構造、リスト、1行のリスト・テーブル、複数行の値(| と >)。
- TOMLの対応
- テーブル、テーブルの配列([[ ]])、ドットでつないだ名前、インラインテーブル、複数行の文字列。
- サイズ
- 20万文字まで。サーバーには送りません。
設定ファイル変換の使い方
設定を貼り付けてください
形式を自動で判別します。誤って判別された場合は、元の形式を自分で選んでください。
変換先の形式を選んでください
JSON・YAML・TOMLの中から選びます。選ぶとすぐに結果が表示されます。
失うものを確認してください
コメント、日付、大きな数のように、移すときに変わるものがあれば、結果の上に黄色い文字でお知らせします。そのまま使ってよいか判断してください。
持ち帰ってください
コピーするか、形式に合った拡張子で保存できます。結果を元の欄に移して、続けて別の形式に変換することもできます。
こんな作業に使えます
間違った結果より、お断りするほうがましです
YAMLのアンカー(&)、エイリアス(*)、マージキー(<<)、タグ(!!)は、値をほかの場所から引いてくる構文です。これをいい加減に展開して移すと、見た目は問題なさそうでも、実際の値が変わってしまった設定ファイルができあがります。設定ファイルは、間違っていてもすぐには気づけないため、より危険です。そこでこのツールは、そのような構文に出会ったら推測せず、何が問題かをお知らせします。
失うものを隠しません
コメントは、どの形式でも同じ位置に移せないため、消えます。日付と時刻は、形式によって扱い方が違うため、文字として移します。非常に大きな整数は、ブラウザが正確に保持できず、値が変わることがあります。TOMLは、空の値(null)をそもそも保持できません。こうしたことが起きたら、結果の横に何を失ったかを書きます。
例で結果を確かめる
YAMLをJSONへ
server:
port: 8080
tags:
- web{
"server": {
"port": 8080,
"tags": ["web"]
}
}扱えない構文
base: &b
a: 1
use: *bYAMLのアンカー(&)とエイリアス(*)は扱いません。値を展開して書いてから、もう一度試してください。形式ごとに保持できるもの
表を左右にスクロールすると続きが見られます。
| 項目 | JSON | YAML / TOML |
|---|---|---|
| コメント | 保持できない | YAML・TOMLどちらも可能だが、移すと消える |
| 空の値(null) | 可能 | YAMLは可能、TOMLは不可 |
| 日付の型 | なし(文字) | TOMLには日付の型が別にある |
| 大きな整数 | 精度に限界がある | 同じ限界をそのまま引き継ぐ |
結果が思ったとおりにならないとき
アンカーを使っているとお断りされました
&と*で値を再利用した部分を、直接展開して書いてください。自動で展開すると元の意味と変わる可能性があるため、あえて止めています。
TOMLに変換できないと表示されます
空の値(null)が入っているか、最も外側が配列になっている可能性があります。TOMLはどちらも保持できません。どの名前が問題かも一緒にお知らせします。
数字が変わりました
16桁を超える整数は、ブラウザが正確に保持できません。正確な値が必要な場合は、引用符で囲んで文字として扱ってください。
インデントがずれていると表示されます
何行目かも一緒にお知らせします。YAMLはタブを使えないので、空白に置き換えてください。
知っておきたい用語
- YAMLのアンカー・エイリアス
- 1か所に書いた値をほかの場所から引いてきて使う構文です。
- TOMLのテーブルの配列
- [[名前]] で、同じ形の項目を複数書く方式です。
- 安全な整数
- JavaScriptが正確に保持できる整数の範囲です。
- インラインテーブル
- { x = 1, y = 2 } のように、1行で書いたひとまとまりです。
設定ファイル変換のよくある質問
コメントは消えますか?
消えます。JSONはコメントを保持できず、変換後にどの位置に付けるべきかも分かりません。コメントがある場合は、変換の前にお知らせします。
すべてのYAMLを扱えますか?
いいえ。広く使われている構文を扱い、アンカー・エイリアス・マージキー・タグ・複数のドキュメントは扱いません。そのようなファイルは理由をお知らせするので、該当部分を展開して書いてから、もう一度試してください。
設定はサーバーにアップロードされますか?
アップロードされません。このブラウザの中だけで変換します。接続情報が含まれた設定も、そのまま入れていただいて構いません。
なぜ、まったく受け付けないファイルがあるのですか?
設定ファイルは、間違っていてもすぐには気づけません。誤って変換したファイルをそのまま使うと、あとで見つけにくい問題になるため、確実でないときは変換しない方針にしました。
コメントを残す方法はありませんか?
ありません。JSONはコメントを保持できず、保持できる形式でも、変換後にどの行に付けるべきかは分かりません。その代わり、コメントがある場合は事前にお知らせします。
結果をさらに続けて変換できますか?
できます。「結果を元に戻す」を押すと、結果が左側に移るので、別の形式に続けて変換できます。