JSON を YAML に変換 JavaScript Object Notation ↔ YAML Ain't Markup Language 無料 オンライン 安全
JSON ファイルを置いて、YAML を持ち帰ってください。読むのも書くのもここ、あなたのブラウザーの中なので、ファイルは端末から出ません — そして渡って残るものと残らないものは、あなたが見つけるまでもなく下に書いてあります。
ファイルを変換する
ここに JSON ファイルを落とすか、選んでください。
ファイルはこの端末から出ません。すべてブラウザー内で動きます。
アップロードなし
JSON から変換
JSON へ変換
この形式はどこから来たか
CSVはもっとも古く、もっとも規格の薄いものです。表を文字の行として書いたもので、一九七〇年代から使われながら、文章として記されたのは二〇〇五年のこと。その頃にはどの道具も、区切りが何であるか、いつ引用符を置くかを、自分で決めてしまっていました。XMLは一九九八年にSGMLから育ちました。厳しい構造を担い、定義書に照らして検められねばならない文書のためです。JSONは二〇〇一年ごろ、ダグラス・クロックフォードがJavaScriptから抜き出したもので、わざと対象・配列・数・文字列だけに削がれました。その削ぎ落としこそが、網の世界を取った理由です。YAMLはその読みやすい従兄弟で、他所では括弧がする仕事を字下げが引き受けます。互いの換算で効いてくるのはただ一つ、CSVは平らで、行と列の格子であり、JSONとXMLとYAMLは木だということです。
どこで出会うか
CSVは表計算が書き出すものであり、会計の人や店の基盤や銀行の明細が手渡してくるものです。JSONは網の仕事が互いに話す言葉であり、設定の書き付けもますますこれで書かれます。XMLは古い企業の仕組みに、請求の規格に、そして事務の形式そのものの内側に生き残っています。YAMLは、人が手で設定を書く場所です。これらのあいだの換算は、生まれた場所から必要な場所へ資料を移す、日々の仕事です。
よくある質問
CSVがExcelで一列になって開きました。なぜですか。
表計算が別の区切りを待っていたからです。Excelは計算機の地域設定にある一覧の区切りに従います。それは、読点がすでに小数点を務めている土地ではセミコロンになります。つまり大陸ヨーロッパの多くです。読点で区切られた書き付けは、そこでは一列の文字に見えます。書き付けを二度叩いて開くのではなく、取り込みの窓を使って区切りをはっきり告げてください。三・五がときに日付になって届くのも、同じ地域設定のせいです。
入れ子のJSONが、なぜきれいな表計算になりませんか。
表計算は平らで、JSONは木だからです。一つの行は列ごとに一つの値を持てます。しかしJSONの対象は、ある欄の中の一覧の、そのまた中に一覧を抱えられます。換算するとは、それをどう平らに叩くかを選ぶことです。入れ子の名を長い列見出しに繋げるか、親の行を子の数だけ繰り返すか。どちらも折り合いであり、どちらも自動では元に戻せません。表計算からもとの形へ帰るのに、たいてい人の判断が要るのはそのためです。
ファイルの質は落ちますか。
二つの形式が何を収められるかによります。同じものを保つ形式どうしの変換——PNGからBMP、WAVからFLAC——では何も失われません。場所を節約するために情報を捨てる形式、たとえばJPEGやMP3への変換では、そのたびに少しずつ失われ、戻しても返ってはきません。選べる場合、このページは最小のファイルを作ることより、もとの質を保つほうに傾きます。
私のファイルはどこかへ送られますか。
いいえ。変換はあなたの機械の上、あなたの閲覧ソフトの中で行われます。ファイルはそこを離れませんし、ここには受け取りうる計算機もありません。大きなファイルを縛るのが送信ではなくあなた自身の記憶装置であるのも、あなたが変換したものが誰の記録にも——私たちの記録にも——現れえないのも、そのためです。ただし音と映像の道具は、初めて使うときにこの場所から変換の機関を取り寄せます。三十メガバイトほど、一度だけです。そのあとも仕事はすべてあなたの機械の上で行われます。
JSON を YAML に変換する人が多い理由
JSON は、プログラムが好む表記です。厳密で、コンパクトで、あらゆる言語に理解されます。しかし人間にはやさしくありません。長い JSON ファイルは、波括弧、角括弧、引用符、コンマが絡み合った茂みで、コメントを書く余地はなく、末尾のコンマがすべてを壊すこともあります。YAML は、データを手で読み、編集しなければならないときに人が選ぶ表記です。波括弧の代わりにインデントを使い、コメントを許し、ほぼ箇条書きのように読めるので、設定の定番になりました。ビルドパイプライン、コンテナの定義、デプロイのファイル、静的サイトやドキュメントツールの設定などです。データが JSON で届き、読みやすい形で扱いたいときには、変換が必要です。人が JSON を YAML に変換するのはそのためです。
場面は日常的なものです。ツールの出力を JSON で持っていて、それを設定ファイルにしたい開発者。ある仕組みから別の仕組みへ設定を移していて、読みやすい形式を好むチーム。API の応答の構造を、雑音なしで読みたい書き手。波括弧がインデントにどう対応するかを見たい学生。どの場合も、データは同じで、表記だけが変わります。
このページは、ブラウザ内で JSON を YAML に変換します。ファイルはここで読み込まれ、書き出されるので、端末の外に出ることはなく、住所、社内システムの名前、時には秘密を含むことの多い設定ファイルにとって重要なことです。そしてこのページは、あとで発見させるのではなく、この変換で何が保たれ、何が保たれないかを、あらかじめ伝えます。以下では、変換の仕組み、深い入れ子や長い文字列でどうなるか、きれいな結果を得る方法を説明します。
変換の仕組み
両方の表記で同じ形
JSON はブラウザ内で読み込まれ、その構造が YAML として書き出されます。二つは同じ形を持っていて、すべてが両方向で保たれます。マップ、一覧、文字列、数値、真偽値、null です。JSON のオブジェクトは YAML のマッピングに、配列はシーケンスになり、スカラー値はその型を保ちます。数値 8080 のキー port は port: 8080 に、true のキー enabled は enabled: true になります。
繰り返される構造は完全に書き出される
YAML には、アンカーとエイリアスで繰り返しを避ける方法があります。変換ツールはそれを使いません。繰り返される構造は、アンカーではなく完全に書き出されるので、ファイルは上から下へそのまま読めます。これにより YAML は少し長くなりますが、中には別の場所で調べる必要があるものがなく、どの読み手も各ブロックを単独で理解できます。
キーは順序を保つ
キーは JSON にあった順序を保ちます。YAML は元と同じ並びで読めるので、JSON を知っている人はすぐに道を見つけられます。
保たれるもの
データであるものすべて
すべてが両方向で保たれます。マップ、一覧、文字列、数値、真偽値、null です。JSON で値だったものは、YAML でも同じ型の値です。
保護が必要な文字列
一部の文字列は、YAML でそのまま書くと誤読されます。単語 true、引用符で囲まれた数値、コロンを含むテキストなどです。変換ツールはそうした文字列を引用符で囲み、文字列のまま戻り、真偽値や数値に変わらないようにします。「true」と書かれた JSON の文字列は、YAML でも文字列のままです。
Unicode
アクセント付きの文字、記号、ほかの文字体系の文字はそのまま保たれるので、複数の言語のファイルも読めるままです。
JSON を YAML に変換する前に知っておくこと
深い入れ子は深いインデントを意味する
YAML はインデントに意味を持たせるので、深く入れ子になった値は、深くインデントされたファイルになります。読めますが、短くはありません。八階層の JSON の木は、左端からずっと離れて始まる行を生みます。それが扱いにくくなったら、元で構造を平坦化することを考えてください。
長い文字列は折り返される
長い文字列は約百桁で折り返され、値を変えずに、改行の位置が変わります。JSON では一本の長い行だった段落は、YAML では複数行に現れますが、同じテキストです。YAML を読むプログラムは、元の文字列を受け取ります。
コメントは作り出せない
YAML はコメントを許しますが、JSON にはコメントがないので、結果にもありません。あとから手で説明を加えられ、それがそもそもファイルを YAML にする主な理由の一つです。
ここで JSON を YAML に変換する方法
ファイルを追加する
JSON ファイルをページにドロップするか、端末から選びます。ブラウザ内で読み取られ、アップロードされません。
変換する
ボタンを押します。普通のサイズのファイルなら、一瞬で終わります。終わるまでページを開いたままにしてください。
ダウンロードして確認する
YAML をダウンロードし、テキストエディターで開きます。最初と最後を見て、構造と型が想定どおりかを確認してください。
JSON と YAML をもう少し詳しく
同じデータの二つの表記
JSON は、プログラムが読み書きしやすいように設計されました。YAML は、人間にとって扱いやすいように設計されました。二つはとても重なっていて、JSON はほぼ YAML の部分集合であり、YAML のリーダーは通常 JSON を読めます。したがって、JSON を YAML に変換するとは、データを変えることではなく、メモの余地があり、句読点の雑音がない形に着替えさせることです。
インデントに注意が必要な理由
YAML はインデントに依存するので、ずれた行は意味を変えます。変換ツールは、スペースで、各階層で同じ幅になるよう、一貫してインデントを書くので、ファイルは出力されたままで正しいです。あとで編集するときは、同じ幅を保ち、YAML がインデントに認めていないタブを避けてください。
読みやすいが、いつも短いとは限らない
YAML は、波括弧やキーの引用符を省くため、JSON よりコンパクトだとよく言われます。平坦なデータではそのとおりです。深く入れ子になったデータでは、インデントのために文字数が増えることがあります。得られるのは読みやすさで、サイズではありません。
具体的な場面
ツールの出力を設定に変える
ツールは、設定や結果を JSON で出力することがよくあります。JSON を YAML に変換し、コメントを加えて、人が保守する設定ファイルとして保ってください。
システム間で設定を移す
JSON を使うシステムから YAML を使うシステムに設定を移すには、一回の変換と、移行先がキーを受け入れるかの確認で済みます。
API の応答を読む
API の応答は、数百行の波括弧になることがあります。YAML なら、同じデータが箇条書きのように読め、構造がひと目でわかります。
教育とドキュメント
同じデータを二つの表記で示すのは、構造化データの仕組みを教えるよい方法です。YAML の例を使ったドキュメントは、読みやすいことが多いです。
JSON を YAML に変換する前の実用的な助言
JSON が有効かを確認する
余分なコンマや欠けた引用符があると、変換は止まります。ページがエラーを報告したら、JSON の問題を強調表示するエディターでファイルを開き、指摘された行を直してください。
できるところは平坦にする
構造が必要以上に深いなら、先に単純にしてください。平坦な構造は、読みやすく編集しやすい YAML を生みます。
読む側を考える
何が YAML を読むのかを確認してください。ツールの中には、特定のキー名と型を期待するものがあり、YAML をあとで編集するより、JSON を前もって調整するほうが簡単です。
大きなファイル
すべてお使いの端末上で動作するので、非常に大きなファイルにはメモリが必要です。数メガバイトのファイルには、コンピューターを使い、ページが苦戦するならデータを分割してください。
変換する前によくある質問
データは変わりますか?
いいえ。すべてが両方向で保たれます。マップ、一覧、文字列、数値、真偽値、null です。
なぜ長い文字列が複数行に分かれるのですか?
長い文字列は約百桁で折り返されます。これは値を変えずに、改行の位置を変えます。
なぜファイルがこんなにインデントされているのですか?
データが深く入れ子になっていて、YAML は入れ子をインデントで表すからです。
アンカーはどこですか?
繰り返される構造は、アンカーではなく完全に書き出されるので、ファイルは上から下へそのまま読めます。
ファイルはアップロードされますか?
いいえ。変換はブラウザ内で行われ、ファイルが端末の外に出ることはありません。
JSON に戻せますか?
はい。YAML を JSON に変換はファイルを読み戻しますが、加えたコメントは残りません。
JSON を YAML に変換するときの賢い選び方
本当に YAML が必要か
受け取るツールが JSON を読むなら、JSON のままにしてください。人がファイルを読んで編集しなければならないとき、またはツールが YAML を必要とするときに変換してください。
ほかの出力先
出力先がマークアップファイルなら、JSON を XML に変換が続けられます。表には、JSON を CSV に変換とJSON を XLSX に変換が表計算ソフトに対応します。
JSON を取っておく
JSON がプログラムから来るものなら、それが原本です。取っておき、変わったときに YAML を再生成してください。
変換後に良い結果を得る
コメントを加える
結果にはコメントがなく、ここが YAML の輝く場面です。各ブロックの上に、それが何をするか、どんな値が許されるかを書いた短いメモを加えてください。
型を確認する
バージョン、コード、フラグなどの値を見てください。文字列のつもりのものが文字列に、数値のつもりのものが数値になっていることを確かめてください。
インデントを一貫させる
編集するときは、スペースを使い、各階層で同じ幅を保ってください。空白を表示し、YAML を検査するエディターが、間違いを防いでくれます。
うまく変換されるよう JSON を準備する
規則的に保つ
JSON を YAML に変換するとき、規則的なデータが最もうまく変換されます。一貫したキーと明確な型です。不規則なデータは、正しいものの乱雑な結果を生みます。
キーに明確な名前を付ける
人が YAML を読むので、意味を表すキーを選んでください。名前がわかりやすいと、設定は保守しやすくなります。
まず小さな部分でテストする
ファイルが大きいなら、一部をテスト用ファイルに取って変換してください。結果をざっと見れば、構造が想定どおりかがわかります。
JSON を YAML に変換したあとの YAML での作業
JSON が保持できなかったメモを加える
変換したてのファイルでまずすべきことは、最初から読み、部外者が戸惑いそうな箇所にコメントを加えることです。セクションの上にある、それが何を制御するかを書いた短い一行は、ほかの場所に置かれた一ページのドキュメントより価値があります。説明する対象のすぐ隣にあるからです。これが、JSON を YAML に変換して得られる主な利点です。
関連する設定をまとめる
キーは JSON にあった順序を保ち、それはたまたまプログラムが出力した順序かもしれません。YAML では、関連する設定が近くに並ぶよう、グループの間に空行を入れて、自由に並べ替えられます。ほとんどの読み手にとって、マッピングのキーの順序には意味がないので、これは安全ですが、お使いのツールが順序を気にしないか確認してください。
受け取るツールが何を期待するかを確認する
有効な YAML ファイルが、必ずしも有効な設定とは限りません。ツールは特定のキーと型を期待し、未知のキーに厳格なものもあります。変換後、ファイルをツールのドキュメントと比べ、ツール自身のチェッカーがあれば実行してください。
バージョン管理を使う
YAML の設定は行ごとに比較しやすく、バージョン管理に向いています。変換したファイルをコミットし、同僚が各変更をはっきりした差分として見られるようにしてください。一行に圧縮された JSON では、はるかに難しかったことです。
秘密に注意する
ツールからエクスポートされた JSON には、トークンやパスワードが含まれていることがあります。変換はブラウザ内で行われるので、何も端末の外に出ませんが、YAML ファイルには同じ秘密が含まれます。ファイルをコミットしたり共有したりする前に、それらを削除するか、より安全な場所に移してください。
編集時のインデントに注意する
手で編集し始めたら、主なリスクは一スペースずれた行です。空白を表示し、入力中に YAML を検査するエディターを使い、変換ツールがしたように、各階層で同じ幅を保ってください。
元が変わったらもう一度変換する
JSON がプログラムによって作られ、時々変わるなら、新しい版ごとに JSON を YAML にもう一度変換し、古いファイルのコメントを新しいファイルに統合してください。比較ツールを使えば、数分で済みます。
プライバシーと取り扱い
設定にローカルでの変換が重要な理由
設定ファイルには、住所、社内システムの名前、時には鍵やパスワードが入っていることがよくあります。多くのオンライン変換ツールは、ファイルをサーバーにアップロードして処理し、結果を送り返し、しばらくの間、自分で管理できないマシンにコピーが残ります。ここではお使いのブラウザが作業を行うので、ファイルは端末にとどまります。
離れるとどうなるか
ページを閉じると、変換されたファイルはブラウザから消えるので、先にダウンロードしてください。ファイルに関するものは何も保持されません。
うまくいかないとき
ページが、ファイルは有効な JSON ではないと言う
余分なコンマ、欠けた引用符、閉じていない括弧があるのかもしれません。JSON のエラーを強調表示するエディターでファイルを開き、指摘された行を直してください。
ツールが YAML を拒否する
ツールが期待するキー名と型を確認してください。YAML は有効ですが、ツールは別の名前や別の構造を求めているのかもしれません。
大きなファイルでページが固まる
すべてお使いの端末上で動作し、大きなファイルにはメモリが必要です。コンピューターでもう一度試すか、データを分割してください。
関連ツール
同じ系統のツールが、隣接する作業をカバーしています。戻るには、YAML を JSON に変換を使ってください。マークアップには、JSON を XML に変換とXML を JSON に変換がその二つの間を変換します。表には、JSON を CSV に変換、CSV を JSON に変換、JSON を XLSX に変換、XLSX を JSON に変換があります。
計算例
あるツールが設定を 150 行の JSON ファイルとして出力し、同僚が読んでコメントを付けられる設定として、リポジトリに保管したいとします。ここにファイルをドロップして、ボタンを押します。しばらくすると、構造が箇条書きのように読める約 90 行の YAML をダウンロードします。各セクションの上にコメントを加え、コミットして、どこを編集するかをチームに伝えます。JSON はツールの出力として残ります。
短いチェックリスト
変換する前に
JSON が有効かを確認します。できれば深い入れ子を単純にします。JSON を取っておきます。
変換中に
ファイルの準備ができるまでページにとどまります。
変換したあとに
YAML を開き、構造と型を確認し、コメントを加えて、それを読むツールでテストします。
よくある間違い
短いファイルを期待する
深い入れ子は深いインデントを作ります。YAML は読みやすいのであって、いつも小さいとは限りません。
タブで編集する
YAML はインデントにタブを認めていません。スペースを使ってください。
元を失う
JSON がプログラムから来るものなら、それを取っておき、変わったときに YAML を再生成してください。
ファイルは端末にとどまる
変換はローカルで行われます。ファイルはお使いのブラウザが読み取り、そこで書き直して、YAML として返します。何もアップロードされないので、サーバーにコピーが残ることも、他の誰かが読むこともありません。私的な内容の設定については、それが JSON を YAML に変換する安全な方法です。
まとめ
ここで JSON を YAML に変換するには、ファイルをドロップしてボタンを押します。ブラウザ内で読み込まれ、書き出されるので、ファイルが端末の外に出ることはありません。すべてが両方向で保たれます。マップ、一覧、文字列、数値、真偽値、null です。繰り返される構造は、アンカーではなく完全に書き出されるので、ファイルは上から下へそのまま読めます。YAML はインデントに意味を持たせるので、深く入れ子になった値は、深くインデントされたファイルになり、読めますが短くはありません。長い文字列は約百桁で折り返され、値を変えずに、改行の位置が変わります。キーは JSON にあった順序を保ちます。