XML を JSON に変換 Extensible Markup Language ↔ JavaScript Object Notation 無料 オンライン 安全
XML ファイルを置いて、JSON を持ち帰ってください。読むのも書くのもここ、あなたのブラウザーの中なので、ファイルは端末から出ません — そして渡って残るものと残らないものは、あなたが見つけるまでもなく下に書いてあります。
ファイルを変換する
ここに XML ファイルを落とすか、選んでください。
ファイルはこの端末から出ません。すべてブラウザー内で動きます。
アップロードなし
XML から変換
XML へ変換
この形式はどこから来たか
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への変換では、そのたびに少しずつ失われ、戻しても返ってはきません。選べる場合、このページは最小のファイルを作ることより、もとの質を保つほうに傾きます。
私のファイルはどこかへ送られますか。
いいえ。変換はあなたの機械の上、あなたの閲覧ソフトの中で行われます。ファイルはそこを離れませんし、ここには受け取りうる計算機もありません。大きなファイルを縛るのが送信ではなくあなた自身の記憶装置であるのも、あなたが変換したものが誰の記録にも——私たちの記録にも——現れえないのも、そのためです。ただし音と映像の道具は、初めて使うときにこの場所から変換の機関を取り寄せます。三十メガバイトほど、一度だけです。そのあとも仕事はすべてあなたの機械の上で行われます。
XML を JSON に変換する理由
XML は、構造化データの長老です。二十年以上にわたって、設定ファイル、商品フィード、請求書、サイトマップ、ニュースフィード、会計プログラムの書き出し、古いウェブサービスの応答を運んできました。正確で冗長で、開いて閉じるタグで書かれます。JSON はその若いライバルです。より軽く、より読みやすく、現代のウェブのコードの自然な言語で、プログラムはほとんど準備なしでそれを使えます。フィードや書き出しが XML で届き、それを使うものが JSON を話すとき、変換が必要になります。人々が XML を JSON に変換するのはそのためです。古い形式のデータがあり、新しいツールは新しい形式を求めるのです。
場面はありふれたものです。古いサービスの応答を、現代的なスクリプトで読まなければならない開発者。XML の商品フィードを持っていて、JSON を取り込むプラットフォームを使う店主。大きな書き出しを、JSON を扱うツールで見たいデータ分析者。山括弧だらけのファイルを理解しなければならない学生。どの場合も、情報はそこにあり、足りないのは、より便利な形だけです。
このページでは、お使いのブラウザの中で XML を JSON に変換します。ファイルはここで読み込まれ、書き出されるので、端末の外に出ることはなく、請求書、顧客データ、その他のプライベートなものでは、これが重要です。そしてこのページは、この変換が何を保ち、何を保てないかを、あなたが後から発見するのではなく、前もって伝えます。XML には、JSON に対応する言葉のない考え方があり、それを理解しておけば、思わぬ事態を避けられます。以下では、変換の仕組みと、何を期待すべきかを説明します。
変換の仕組み
要素はキーになり、入れ子は入れ子になる
XML はお使いのブラウザの中で読み込まれます。要素名はキーになり、要素の中の要素はオブジェクトの中のオブジェクトになるので、XML の入れ子が JSON の入れ子になります。タグに見える構造が、波括弧の中の構造として得られます。
属性は @ を付けて名前を保つ
XML の要素は属性、つまり開始タグの中に書かれた小さなデータを持つことができます。JSON には属性がないので、それぞれが独自のキーとして保たれ、名前の前に @ が付きます。属性 id を持つ book のような要素は、子要素のキーの隣に、キー @id を与えます。@ のおかげで、どのキーが属性から、どのキーが要素から来たのかがはっきりします。
子要素の隣にあるテキスト
子要素と要素を共有するテキストは、ほかに置く場所がないので、#text の下に保たれます。データファイルではまれですが、散文とマークアップが混ざる文書ではよくあることです。キー #text がテキストを保持し、ほかのキーが子要素を保持します。
保たれるもの
要素名、入れ子、属性、テキスト
要素名、その入れ子、その属性、そのテキストは、すべて保たれます。データにある情報は JSON にあり、プログラムがたどれる形になっています。
一度だけ現れるものの順序
異なる要素は、書かれた順序が保たれるので、タイトル、著者、日付を並べたレコードは、その順序で現れます。
テキストはそのまま
各要素のテキストは、その中の空白、アクセント付きの文字、記号、ほかの文字体系の文字を含めて、書かれたとおりに保たれます。
XML を JSON に変換する前に知っておくべきこと
繰り返される名前は配列になる
XML には、JSON に対応する言葉のない考え方があります。要素には順序があり、繰り返されることがあるのです。一度だけ現れる名前は値になり、二度現れる名前は配列になります。したがって、三つの item 要素のあるリストは三つの配列になりますが、一つの項目のリストは単なる値になり、一つの配列にはなりません。これは、結果を読み戻しても、同じ XML になるとは限らないことを意味します。JSON を読むプログラムは、リストが短くなりうる場所では、両方の形に備えているべきです。
コメント、処理命令、宣言は落とされる
コメント、処理命令、XML 宣言はデータの一部ではなく、渡りません。開発者がコメントに残したメモ、バージョンとエンコーディングを示す先頭の行、特定のプログラム向けの命令は消えます。データそのものは残ります。
すべてがテキスト
XML には型がありません。タグの中のすべての値はテキストです。XML の数字、日付、フラグは、書かれたとおりのテキストとして届きます。JSON を読むプログラムは、自分の必要に応じてそれらを解釈するべきです。
ここで XML を JSON に変換する方法
ファイルを追加する
XML ファイルをページにドロップするか、端末から選んでください。お使いのブラウザの中で読み込まれ、アップロードされません。
変換する
ボタンを押します。ふつうの大きさのファイルなら、ほんの一瞬です。完了するまで、ページを開いたままにしてください。
ダウンロードして確認する
JSON をダウンロードして、テキストエディターで開いてください。最初と最後を見て、キーが期待する名前であること、属性が @ を持っていることを確かめます。
XML と JSON をもう少し詳しく
木構造を書く二つの方法
XML も JSON も、値の木構造を記述します。XML は、開いて閉じるタグで書き、属性と混在内容を認めます。JSON は、波括弧と角括弧で書き、オブジェクト、リスト、文字列、数値、真偽値、null しか知りません。両者は、レコードや設定のようなデータではよく重なり、ウェブページや本のように、テキストとマークアップが入り混じる文書ではあまり重なりません。
往復が保証されない理由
XML から JSON への変換では、少しのものが失われます。繰り返される混在要素の順序、コメント、そして @ を通してのみ保たれる、属性と要素の区別です。したがって、戻したときに、まったく同じ XML になるとは限りません。データ交換では、これはめったに問題になりません。文書では問題になるので、XML をマスターとして保管するほうがよいのです。
名前空間
XML の名前は、特定の標準の語彙のような、名前空間に置くための接頭辞を持つことができます。そうした名前は、接頭辞を含めて、書かれたとおりに保たれるので、キーは dc:title のようになりえます。解決されたり、書き換えられたりはしません。
よくある場面の詳細
商品フィードとカタログ
供給業者やマーケットプレイスは、XML でフィードを提供することがよくあります。現代的なスクリプトで使うため、あるいは JSON を取るプラットフォームに取り込むために、XML を JSON に変換して、結果を読みます。
古いウェブサービス
SOAP や初期の API の時代に作られたサービスは、XML で応答します。その応答を使いたいスクリプトは、より扱いやすい JSON で作業できます。
設定ファイルと設定
多くのプログラムが、設定を XML として保存しています。ファイルを JSON に変換すれば、JSON 用のツールで読み、二つのバージョンを比べ、スクリプトに渡せます。
フィード、サイトマップ、書き出し
ニュースフィード、サイトマップ、会計や在庫のプログラムからの書き出しは XML です。変換すれば、検索しやすく、コードに読み込みやすい形が得られます。
XML を JSON に変換する前の実用的な助言
XML が整形式か確かめる
すべてのタグが閉じていなければならず、ファイルには単一のルート要素がなければなりません。ページがエラーを報告したら、XML の問題を強調表示するエディターでファイルを開いて、指摘された行を直してください。
リストが短くなりうる場所を知る
XML にリストがあるなら、一つの項目しかないリストは、値になり、一つの配列にはならないことを覚えておいてください。JSON を読むコードは、両方の場合を扱えるように計画してください。
属性をどうするか決める
属性は、@ を付けたキーとして届きます。プログラムがそれを別の名前で期待するなら、変換の後で名前を付け替えるか、プログラムを調整してください。
大きなファイル
すべてがお使いの端末の上で動くので、とても大きなファイルにはメモリが必要です。数メガバイトにおよぶファイルには、コンピューターを使い、ページが苦戦するならデータを分割してください。
変換する前によくある質問
なぜあるリストは配列で、別のものは単一の値なのですか?
一度だけ現れる名前は値になり、二度現れる名前は配列になるからです。一つの項目だけのリストは、単一の値のように見えます。
属性はどこへ行きましたか?
名前の前に @ を付けたキーになっていて、子要素のキーの隣にあります。
ほかの要素の隣にあるテキストはどこですか?
キー #text の下です。ほかに置く場所がないからです。
なぜコメントがなくなったのですか?
コメント、処理命令、XML 宣言はデータの一部ではなく、渡らないからです。
ファイルはアップロードされますか?
いいえ。変換はお使いのブラウザの中で動き、ファイルが端末から出ることはありません。
XML に戻せますか?
はい。JSON を XML にで、木構造を XML として書き戻せますが、往復で同一になることは保証されません。
XML を JSON に変換するときの賢い選び方
JSON か YAML か表か
JSON はプログラムに向いています。人が編集する設定なら、変換の後でJSON を YAML にしたほうが読みやすくなります。XML が実際には均一なレコードの表なら、JSON を CSV にやJSON を XLSX にで続けられます。
XML を保管する
XML がマスターです。コメント、宣言、正確な順序が入っています。保管しておいて、JSON は便利なコピーとして扱ってください。
使う側を考える
JSON を読むものが何かを見て、それに合うように作業を整えてください。固定された構造を期待するスクリプトは、XML が規則的なら書きやすくなります。
変換後に良い結果を得る
ビューアーで JSON を検証する
JSON を理解するエディターで結果を開き、オブジェクトを折りたたんでください。構造が期待どおりに見えるなら、健全です。
いくつかのレコードを元と比べる
中ほどから数件のレコードを取って、XML と照らし合わせてください。一分で済み、変換が忠実であることがわかります。
公開のために最小化する
ファイルがウェブページに読み込まれて大きいなら、空白を取り除いて軽くするツールがあります。データは変わりません。
うまく変換できるように XML を準備する
構造を規則的に保つ
XML を JSON に変換するとき、規則的なデータが最もうまく変換されます。同じ要素が同じ場所にあり、リストは常に繰り返される要素として書かれていることです。不規則なファイルは不規則な JSON を生み、それを読むプログラムは対処しなければなりません。
できるだけテキストと要素を混ぜない
子要素の隣にあるテキストは #text の下に入ります。それは正しいのですが、結果を使いにくくします。データでは、テキストは枝の間ではなく、葉に置いてください。
まず小さな一部で試す
ファイルが大きいなら、最初のレコードをテスト用のファイルに取って、それを変換してください。結果をざっと見れば、形が期待どおりかどうかがわかります。
XML を JSON に変換した後の JSON の読み方
構造を推測せず、たどる
結果の形は XML の形を映しているので、理解するいちばんの方法は、両方を並べて開くことです。最上位のキーになるルート要素を見つけて、一件のレコードを葉までたどってください。XML を JSON に変換した後のこの十分間の散歩は、コードでの何時間もの試行錯誤を省いてくれます。
リストについて防御的なコードを書く
一つの項目は値で、複数の項目は配列なので、いちばん安全な習慣は、読んだものを包むことです。配列でなければ、配列に入れます。読み取り部分の冒頭の一行のコードで、残りが単純になり、フィードにたまたま商品が一つしか入っていない日にプログラムが壊れることもなくなります。
属性は慎重に扱う
@ で始まるキーは属性です。そうした名前をプロパティ名として好まないツールもあるので、読み込む際に名前を付け替えたほうがよいかもしれません。意味は同じままで、ラベルが変わるだけです。
出どころの代わりに JSON を編集しない
データが変わったときは、出どころで XML を変えるか、システムに新しい書き出しを作らせて、XML を JSON にもう一度変換してください。コピーを編集すると、二つがずれてしまいます。
プライバシーと取り扱い
データでローカル変換が重要な理由
XML ファイルには、請求書、顧客、注文、設定など、プライベートなものが入っていることがよくあります。多くのオンラインコンバーターは、ファイルをサーバーにアップロードして処理し、結果を送り返すので、しばらくの間、自分で管理できない機械にコピーが存在します。ここでは、お使いのブラウザが作業をするので、データは端末にとどまります。
ページを離れるとどうなるか
ページを閉じると、変換したファイルはブラウザから消えるので、先にダウンロードしてください。データに関するものは何も保持されません。
うまくいかないとき
ページが XML は無効だと言う
タグが閉じていないか、ルート要素が二つあるか、XML が認めない文字があるのかもしれません。XML のエラーを強調表示するエディターでファイルを開いて、指摘された行を直してください。
構造が期待したものと違う
項目が一つのリスト、属性、混在したテキストがないか確かめてください。ほとんどの驚きは、それで説明がつきます。
大きなファイルでページが固まる
すべてがお使いの端末の上で動くので、大きなファイルにはメモリが必要です。コンピューターでもう一度試すか、データを分割してください。
関連ツール
同じ系統のツールが、隣り合う作業を網羅しています。元に戻すには、JSON を XML にを使います。設定ファイルには、JSON を YAML にとYAML を JSON にがその二つの間を変換します。表には、JSON を CSV に、CSV を JSON に、JSON を XLSX に、XLSX を JSON にがあります。
実例
供給業者が、800 点の商品を含む XML ファイルの商品フィードを送ってきたとします。各商品には id 属性、名前、価格、カテゴリーのリストがあります。ここにファイルをドロップして、ボタンを押します。しばらくして、800 点の商品の配列を持つ JSON をダウンロードします。それぞれの id はキー @id で、名前と価格は独自のキー、カテゴリーは配列になります。カテゴリーが一つだけのわずかな商品では、値は素の文字列で、取り込みスクリプトは両方の場合を扱います。XML は、供給業者の原本として、フォルダーに残ります。
短いチェックリスト
変換の前
XML が整形式か確かめます。リストが短くなりうる場所をメモします。XML を保管します。
変換の最中
ファイルの準備ができるまで、ページにとどまります。
変換の後
JSON を開いて、キー、属性、リストを確かめ、それを読むプログラムで試します。
よくある間違い
すべてのリストが配列だと思い込む
項目が一つのリストは値になります。両方を受け付けるように、読み取りコードを書いてください。
完全な往復を期待する
XML から JSON へ、そして戻して同じ XML になることに頼らないでください。元のファイルを保管してください。
すべての値がテキストであることを忘れる
XML には型がありません。数字と日付は、それを使うプログラムで変換してください。
データはお使いの端末にとどまります
変換は手元で行われます。ファイルはお使いのブラウザが読み込み、そこで書き直し、JSON として戻されます。何もアップロードされないので、サーバーにコピーが残ることはなく、ほかの誰も読めません。プライベートな内容を含むデータには、これが XML を JSON に変換する安全な方法です。
まとめ
ここで XML を JSON に変換するには、ファイルをドロップしてボタンを押します。お使いのブラウザの中で読み込まれ、書き出されるので、ファイルが端末の外に出ることはありません。要素名、その入れ子、その属性、そのテキストは保たれます。属性は名前の前に @ を付けて保たれ、子要素と要素を共有するテキストは、ほかに置く場所がないので、#text の下に保たれます。XML には、JSON に対応する言葉のない考え方があります。要素には順序があり、繰り返されることがあるのです。一度だけ現れる名前は値になり、二度現れる名前は配列になるので、結果を読み戻しても、同じ XML になるとは限りません。コメント、処理命令、XML 宣言はデータの一部ではなく、渡りません。