JSON を XML に変換 JavaScript Object Notation ↔ Extensible Markup Language 無料 オンライン 安全
JSON ファイルを置いて、XML を持ち帰ってください。読むのも書くのもここ、あなたのブラウザーの中なので、ファイルは端末から出ません — そして渡って残るものと残らないものは、あなたが見つけるまでもなく下に書いてあります。
ファイルを変換する
ここに 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 を XML に変換する人が多い理由
JSON は現代のウェブのコードの言語で、軽く、読みやすく、あらゆるプログラミング言語に理解されます。XML はより古く、より形式的な兄弟で、開閉するタグで書かれ、驚くほど多くの場所で今も必須の形式です。会計プログラム、税務や通関のシステム、公共調達のプラットフォーム、商品フィード、出版のワークフロー、企業向けソフトウェア、そして古いウェブサービスの長いリストが、どれも XML を期待します。データは JSON にあるのに、それを受け取るシステムが XML を話すなら、変換が必要です。人が JSON を XML に変換するのはそのためです。情報は一つの形にあり、送り先はもう一方の形を求めているのです。
場面はよくあるものです。現代のアプリケーションから、何年も前に作られたサービスにデータを送らなければならない開発者。商品を JSON でエクスポートするのに、XML を求めるマーケットプレイスにフィードを渡さなければならない店。ツールが好むマークアップ形式の設定が必要なチーム。同じデータが二つの表記でどう見えるかを知りたい学生。どの場合も、内容は準備できていて、違うのは表記だけです。
このページは、ブラウザ内で JSON を XML に変換します。ファイルはここで読み込まれ、書き出されるので、端末の外に出ることはなく、注文、請求書、そのほか私的なものにとって重要なことです。そしてこのページは、あとで発見させるのではなく、この変換で何が保たれ、何が保たれないかを、あらかじめ伝えます。以下では、変換の仕組み、名前、一覧、属性がどう扱われるか、そして XML が受け付けないキーにどう対処するかを説明します。
変換の仕組み
木全体が引き継がれる
JSON ファイルはブラウザ内で読み込まれ、木全体が XML として書き出されます。オブジェクトは要素になり、そのキーは子要素の名前になり、値は中のテキストになります。JSON の入れ子は XML の入れ子になるので、波括弧で見ている形が、タグで得られる形です。
文書は単一のキーにちなんで名付けられる
XML 文書には、ちょうど一つのルート要素が必要です。JSON のオブジェクトにキーが一つなら、そのキーが文書の名前になります。これは便利な場合です。XML を JSON にして戻したファイルは、ルート要素が単一のキーになり、ルート要素として戻るので、元と同じように見えます。JSON の最上位に複数のキーがあるなら、変換ツールは結果が整形式になるよう、それらをルート要素で包みます。
一覧は要素を繰り返す
配列はその要素を繰り返します。三件のレコードの一覧を保持するキー products は、三つの product 要素を続けて出力し、これが XML が一覧を表す方法です。順序は保たれます。
保たれるもの
木全体
すべてのオブジェクト、すべての一覧、すべての値が引き継がれます。何も捨てられず、入れ子は元の入れ子のままです。
@ による属性
@ で始まるキーは属性になります。キー @id とキー name を持つレコードは、属性 id と子要素 name を持つ要素になります。これは逆方向の変換が使うのと同じ規約なので、XML を JSON にして戻しても、属性は保たれます。
順序
キーは JSON に現れた順序を保つので、XML の要素は元の並びに従います。
JSON を XML に変換する前に知っておくこと
JSON のキーはどんな言葉でもよいが、XML の名前はそうではない
JSON のキーは、単語でも、数字でも、スペースのあるフレーズでもかまいません。XML の要素名はそうではありません。文字かアンダースコアで始まり、文字、数字、ハイフン、アンダースコア、ピリオドを含められますが、スペースは含められません。正当な名前でないキーは、無理に名前に変えられることはありません。item 要素に name 属性が付いた、item name="元のキー" の形で書かれるので、元のキーはファイルに残り、見つけることもできます。黙って名前が変えられることはありません。
名前空間もなく、スキーマもない
名前空間は付かず、スキーマも与えられません。結果は整形式ですが、検証されてはいません。どんな XML リーダーでも読めますが、税務システムやマーケットプレイスが求める特定の構造を満たしているかどうかは別の問題で、受け取る側にしか答えられません。スキーマが特定の要素名を求めるなら、あらかじめ JSON のキーをそれに合わせる必要があります。
値はテキスト
XML には型がなく、タグの中のすべての値はテキストです。数値、true、false、null は、そのテキストとして書かれます。XML を読むプログラムが、適切と考えるとおりに解釈しなければなりません。
ここで JSON を XML に変換する方法
ファイルを追加する
JSON ファイルをページにドロップするか、端末から選びます。ブラウザ内で読み取られ、アップロードされません。
変換する
ボタンを押します。普通のサイズのファイルなら、一瞬で終わります。終わるまでページを開いたままにしてください。
ダウンロードして確認する
XML をダウンロードし、テキストエディターかブラウザで開きます。最初と最後を見て、要素名が想定どおりか、属性が意図した場所に現れているかを確認してください。
JSON と XML をもう少し詳しく
木を書く二つの方法
JSON も XML も、値の木を記述します。JSON は波括弧と角括弧で書き、オブジェクト、一覧、文字列、数値、真偽値、null しか知りません。XML は開閉するタグで書き、属性、名前空間、混合内容を加えます。レコードや設定などのデータについてはよく重なりますが、テキストとマークアップが入り交じる文書についてはあまり重なりません。
規約が重要な理由
JSON には、属性も、ルート要素も、要素を繰り返すという概念もありません。そのため、どんな変換にも規約が必要です。属性には @、ルートには単一のキー、一覧には要素の繰り返しです。ここで使う規約は単純で一貫しており、XML から JSON への変換で使われるものと一致するので、一般的な場合には往復が機能します。
空の値
空の文字列と null は、どちらも空の要素になります。その違いが受け取るシステムにとって重要なら、JSON を XML に変換する前に、たとえば別のフラグなどで、データの中に印を付けてください。
具体的な場面
マーケットプレイスや比較サイトのフィード
多くのプラットフォームは、商品フィードを XML で求めます。ショップのソフトウェアが JSON をエクスポートするなら、JSON を XML に変換し、要素名をプラットフォームの仕様と照合して、アップロードしてください。
古いサービスと企業システム
SOAP や初期の API の時代に作られたシステムは、XML を期待します。現代のアプリケーションは JSON を生成し、それをそのシステム向けに変換できます。
XML を好むツールの設定
ビルドツール、コンテンツシステム、デスクトッププログラムの中には、設定を XML から読むものがあります。JSON で書かれた設定を、必要な形に変えられます。
学習と比較
同じデータを二つの表記で見るのは、その違いを理解するよい方法です。小さな JSON を貼り付けて変換し、二つを並べて比べてください。
JSON を XML に変換する前の実用的な助言
JSON が有効かを確認する
余分なコンマや欠けた引用符があると、変換は止まります。ページがエラーを報告したら、JSON の問題を強調表示するエディターでファイルを開き、指摘された行を直してください。
キーを正当な要素名にする
XML がスキーマに照らして検査されるとわかっているなら、有効な名前で、スキーマに一致するキーを使ってください。そうでなければ、変換ツールはそれらを item 要素として安全に保ちますが、それは正しいものの、受け取る側が期待するものではないかもしれません。
最上位のキーを一つにする
XML のルート要素に特定の名前を付けたいなら、JSON を XML に変換する前に、データを、そのキー一つだけのオブジェクトで包んでください。
大きなファイル
すべてお使いの端末上で動作するので、非常に大きなファイルにはメモリが必要です。数メガバイトのファイルには、コンピューターを使い、ページが苦戦するならデータを分割してください。
変換する前によくある質問
何がルート要素に名前を付けますか?
キーが一つのオブジェクトが、そのキーにちなんで文書に名前を付けます。
属性はどう得られますか?
キーを @ で始めてください。それが要素の属性になります。
スペースを含むキーはどうなりますか?
正当な要素名ではないので、元のキーを保持する name 属性を持つ item 要素になります。何も失われません。
XML はスキーマ検査に通りますか?
結果は整形式ですが、検証されてはいません。特定のスキーマを満たすかどうかは、要素名と構造によります。
ファイルはアップロードされますか?
いいえ。変換はブラウザ内で行われ、ファイルが端末の外に出ることはありません。
JSON に戻せますか?
はい。XML を JSON に変換は、属性について同じ規約で XML の木を読み戻します。
JSON を XML に変換するときの賢い選び方
本当に XML が必要か
受け取るシステムが JSON を受け付けるなら、JSON を使ってください。XML が必須のときだけ変換してください。
ほかの出力先
人が編集する設定には、JSON を YAML に変換のほうが読みやすいです。表には、JSON を CSV に変換とJSON を XLSX に変換が表計算ソフトに対応します。
JSON を取っておく
JSON は原本です。型を保持しています。それを取っておき、XML は特定の受け取り先のために作られた写しとして扱ってください。
変換後に良い結果を得る
ブラウザで開く
ブラウザは XML を折りたためる木として表示します。ファイルを開いて、要素を展開してください。構造が想定どおりに見えれば、問題ありません。
いくつかのレコードを元と比べる
途中のいくつかのレコードを取って、JSON と照合してください。一分で済み、変換が忠実だとわかります。
受け取り先が必要とするものを加える
受け取り先が宣言行、名前空間、スタイルシートの参照を求めるなら、テキストエディターで加えてください。それらはデータの一部ではなく、自動では書き出されません。
うまく変換されるよう JSON を準備する
規則的な構造を使う
JSON を XML に変換するとき、規則的なデータが最もうまく変換されます。同じキーを共有するレコードの一覧で、各キーが正当な名前であるものです。不規則なデータは、正しいものの乱雑な結果を生みます。
何を属性にするかを決める
識別子、コード、フラグは、XML ではしばしば属性です。JSON でそれらに @ を付ければ、結果は人間が書く XML のように見えます。
まず小さな部分でテストする
ファイルが大きいなら、最初のいくつかのレコードをテスト用ファイルに取って変換してください。結果をざっと見れば、形が想定どおりかがわかります。
XML を受け取り先に合わせる
まず仕様を見る
マーケットプレイス、税務ポータル、取引先のために JSON を XML に変換する前に、彼らが求めるものを読んでください。ほとんどが、期待する要素、その順序、どれが必須かの説明を公開しています。キー名をそれに合わせるのは、JSON では数分で済み、あとでアップロードに失敗するのを防ぎます。
順序が重要なことがある
一部の XML スキーマは、要素が決まった順序であることを求めます。変換ツールはキーの順序を保つので、受け取り先が並びにこだわるなら、JSON のキーをその並びで書いてください。結果は、あなたが書いたとおりになります。
必要なら宣言を加える
バージョンとエンコーディングを示す最上部の一行は慣例で、受け取り先によってはこだわります。それはデータの一部ではないので、自動では書き出されません。最初の要素の前に、テキストエディターで手作業で加えてください。
特殊文字に注意する
値の中のアンパサンド、山括弧、引用符は、エスケープされた形で書き出されるので、テキストに何が含まれていても XML は有効なままです。JSON でそれらを準備する必要はありません。
受理されたサンプルを取っておく
受け取り先がファイルを受理したら、そのファイルそのものと、それを生んだ JSON の写しを取っておいてください。あとのアップロードが失敗したとき、うまくいったものと比べれば、違いがすぐに見つかります。
手で編集するより、変換を繰り返す
データが変わったら、JSON を変更して、もう一度 JSON を XML に変換してください。XML を手で編集すると、二つの版が離れていってしまいます。
プライバシーと取り扱い
データにローカルでの変換が重要な理由
データファイルには、顧客、注文、請求書、設定など、私的なものが入っていることがよくあります。多くのオンライン変換ツールは、ファイルをサーバーにアップロードして処理し、結果を送り返し、しばらくの間、自分で管理できないマシンにコピーが残ります。ここではお使いのブラウザが作業を行うので、データは端末にとどまります。
離れるとどうなるか
ページを閉じると、変換されたファイルはブラウザから消えるので、先にダウンロードしてください。データに関するものは何も保持されません。
うまくいかないとき
ページが、ファイルは有効な JSON ではないと言う
余分なコンマ、欠けた引用符、閉じていない括弧があるのかもしれません。JSON のエラーを強調表示するエディターでファイルを開き、指摘された行を直してください。
受け取り先が XML を拒否する
結果は整形式ですが、検証されてはいません。受け取り先の仕様と比べて、JSON のキー名と構造を調整してください。
大きなファイルでページが固まる
すべてお使いの端末上で動作し、大きなファイルにはメモリが必要です。コンピューターでもう一度試すか、データを分割してください。
関連ツール
同じ系統のツールが、隣接する作業をカバーしています。戻るには、XML を JSON に変換を使ってください。設定ファイルには、JSON を YAML に変換とYAML を JSON に変換がその二つの間を変換します。表には、JSON を CSV に変換、CSV を JSON に変換、JSON を XLSX に変換、XLSX を JSON に変換があります。
計算例
ショップのソフトウェアが 300 点の商品を JSON でエクスポートし、マーケットプレイスが、catalogue という名前のルート要素を持つ XML フィードを求めているとします。一覧を、単一のキー catalogue を持つオブジェクトで包み、ここにファイルをドロップして、ボタンを押します。しばらくすると、ルートが catalogue で、300 の product 要素を持つ XML をダウンロードします。キーを @id と書いたので、各要素の id は属性になっています。フィードをアップロードすると、マーケットプレイスが受理します。JSON は元の素材としてフォルダーに残っています。
短いチェックリスト
変換する前に
JSON が有効かを確認します。ルートの名前を選びます。属性に @ を付けます。JSON を取っておきます。
変換中に
ファイルの準備ができるまでページにとどまります。
変換したあとに
XML を開き、要素名、属性、一覧を確認して、受け取り先でテストします。
よくある間違い
結果が検証済みだと思い込む
XML は整形式であり、どのスキーマにも照らして検査されていません。受け取り先の規則に照らして検証してください。
スペースや記号を含むキーを使う
それらは name 属性を持つ item 要素になります。受け取り先が期待するなら、正当な名前を使ってください。
JSON を削除する
取っておいてください。XML では保持できない型を保っています。
データは端末にとどまる
変換はローカルで行われます。ファイルはお使いのブラウザが読み取り、そこで書き直して、XML として返します。何もアップロードされないので、サーバーにコピーが残ることも、他の誰かが読むこともありません。私的な内容のデータについては、それが JSON を XML に変換する安全な方法です。
まとめ
ここで JSON を XML に変換するには、ファイルをドロップしてボタンを押します。ブラウザ内で読み込まれ、書き出されるので、ファイルが端末の外に出ることはありません。木全体が保たれます。キーが一つのオブジェクトは、そのキーにちなんで文書に名前を付けるので、XML を JSON にして戻したファイルは元と同じように見えます。配列はその要素を繰り返し、@ で始まるキーは属性になります。JSON のキーはどんな言葉でもよいですが、XML の要素名はそうではありません。正当な名前でないキーは、無理に名前に変えられることはなく、name 属性を持つ item 要素になるので、元のキーはファイルに残り、見つけることもできます。名前空間は付かず、スキーマも与えられません。結果は整形式ですが、検証されてはいません。