JSON⇄YAML変換
JSON ⇄ YAML
キーの順序を保って双方向に変換し、YAML側はブロック記法かフロー記法かを選べます。
YAML・JSON・TOMLを、どの方向にでもブラウザの中で変換します。パーサはnpmから持ってきたものではなくこのサイトで書いたもので、だからこそ何を受け付けないか——アンカー、タグ、複数文書のストリーム——をページにそのまま書いておけます。黙って読み違える代わりに、です。
入力
.yaml・.json・.toml ファイルを置く
このタブの中で読みます。アップロードはしません。
JSON 出力
npmから持ってこず、ここで書いています。だから扱う範囲は受け継いだものではなく選んだものです。この一覧にあるものは、誤って読む代わりに名指しして断ります。
使い方
設定を貼り付けます
形式は文面から判別し、選択欄の下にどちらとして読んだかを表示します。判別が外れていたら自分で指定してください。JSONはYAMLとしても正しいので、`{ }`の文書はどちらにも読めます。
変換先を選びます
KubernetesのマニフェストやCIの設定ならYAML、プログラムがパースするものならJSON、RustやPythonのプロジェクトファイルならTOMLです。
出力だけでなく警告を読みます
変換に成功しても意味が変わっていることがあります。TOMLへ移る途中で落ちた`null`、YAML 1.2では文字列として読まれる`yes`といったものです。こうしたものは隠さず、出力の下の注記に出します。
受け付けられなかったときは対応範囲の一覧を開きます
下の折りたたまれた部分に、これらのパーサが扱わない構文が理由とともにすべて書いてあります。受け付けないときは、自分で読み解かなければならないパーサのエラーではなく、その一覧を指し示します。
よくある質問
アンカーとエイリアスが受け付けられないのはなぜですか
`*base`を正しく展開するにはYAMLのマージの意味論を実装することになり、それを微妙に間違えると、見た目は正しいのに別のものがデプロイされるファイルができあがります。貼り付ける前に手で展開すれば確実で、ここで推測するのは確実ではありません。`<<: *base`も同じ理由です。
`yes`が文字列になったのはなぜですか
YAML 1.2のcoreスキーマがそう定めているからです。真偽値は`true`と`false`だけです。いまも本番で動いているものを含め、YAML 1.1のパーサはこれを真偽値として読みます。デプロイの結果を変える種類の違いなので、この値が出てきたときは警告に書いて知らせます。
TOMLへ変換するとき`null`はどうなりますか
落として、そのことを警告で伝えます。TOMLにはnullという値そのものがありません。キーを省くか、代わりの値を作って入れるかの二択で、作って入れれば誰かの設定に文字列の`"null"`が入り込みます。
コメントは残りますか
残りません。変換はデータモデルを経由しますが、コメントはデータではありません。JSONには置く場所すらありません。コメントを残したいなら、このサイトのYAML・TOMLの整形ツールがその場でインデントだけを直し、コメントはそのまま残します。
ここから渡せます
JSONフォーマッター・検証
JSON Formatter & Validator
JSONを整形・圧縮して検証し、構文エラーがあれば行と列を正確に指し示します。
YAMLフォーマッター・検証
YAML Formatter & Validator
YAMLのインデントを揃えて検証し、パーサを壊すタブやアンカーの誤りに印を付けます。
JSON⇄TOML変換
JSON ⇄ TOML
入れ子のオブジェクトをテーブル見出しに対応づけて、JSONとTOMLを相互に変換します。
TOMLフォーマッター・検証
TOML Formatter & Validator
TOMLを整形して検証し、テーブルの順序とインラインテーブルの書き方を揃えます。
次の一手
このツールが出したものをそのまま受け取れる道具です。
JSONフォーマッター・検証
JSON Formatter & Validator
JSONを整形・圧縮して検証し、構文エラーがあれば行と列を正確に指し示します。
JSON Schema検証
JSON Schema Validator
文書をJSON Schemaで検証し、通らなかった箇所をインスタンスのパスとともに挙げます。
JSON⇄TOML変換
JSON ⇄ TOML
入れ子のオブジェクトをテーブル見出しに対応づけて、JSONとTOMLを相互に変換します。
YAMLフォーマッター・検証
YAML Formatter & Validator
YAMLのインデントを揃えて検証し、パーサを壊すタブやアンカーの誤りに印を付けます。
Base64エンコード・デコード
Base64 Encoder & Decoder
テキストでもファイルでもBase64とBase64URLを符号化・復号し、UTF-8も正しく扱います。
curlをコードに変換
curl to Code
curlのコマンドをfetch・axios・Pythonのrequests・Go・PHP・PowerShellのコードに変換します。