N2
NanToo
開発者向け

JSON / YAML / XML 相互変換ツール

JSON・YAML・XMLを相互変換。3形式の任意の組み合わせをワンクリック変換。XML属性やCDATAにも対応。構文エラー表示、インデント調整付き。設定ファイルやAPI仕様書の編集に。

YAMLJSON
入力すると変換結果が表示されます
XML変換のルール

• XML属性は @属性名 としてJSONのキーに変換されます

• テキストと子要素が混在する場合、テキストは #text に格納されます

• 同名の子要素が複数ある場合は配列になります

• JSONからXMLへの変換時、トップレベルのキーが1つならそれがルート要素名になります

• コメントはJSON/YAMLに変換するとき失われます

JSON / YAML / XML 相互変換ツールについて

JSON・YAML・XML の違いと使い分け

JSON(JavaScript Object Notation)はWeb APIで最も広く使われるデータ交換形式。機械処理が容易で軽量ですが、コメントや複数行文字列の記述性では他の形式に劣ります。

YAML(YAML Ain't Markup Language)は人間が読み書きしやすい設定記述形式。インデントで構造を表現し、コメント記述や複数行文字列に対応します。

XML(Extensible Markup Language)はタグベースの構造化文書形式。属性・名前空間・スキーマ検証など高度な機能を持ち、エンタープライズ系やレガシーシステムで広く使われています。

用途別の使い分け

  • JSON: Web API レスポンス、package.json、tsconfig.json、ブラウザ間通信
  • YAML: Kubernetes・Docker Compose・GitHub Actions・Ansible等の設定ファイル、OpenAPI仕様書
  • XML: SOAP API、RSS/Atom フィード、Maven pom.xml、SVG、Android レイアウト、XHTML

たとえばOpenAPI仕様書はYAMLで書いて、APIゲートウェイにはJSONで配信。レガシーSOAPサービスからのXMLレスポンスをJSON化してフロントエンドで利用、といった場面で相互変換が必要になります。

本ツールの特徴

  • JSON・YAML・XML の 3形式を相互変換(6パターン)
  • 標準YAML 1.2準拠の yaml パーサーを使用(eemeli/yaml)
  • 純粋JavaScript製XMLパーサー(属性・CDATA・コメント・自己閉鎖タグ対応)
  • インデント幅(0/2/4)を選択可能。圧縮出力にも対応
  • すべてブラウザ内で処理。データの外部送信は一切なし
  • 構文エラー時はパーサーからのエラーメッセージを表示

XML 変換のルール

XMLとJSON/YAMLでは構造の表現方法が異なるため、以下のルールで相互変換します。

  • XML属性は @属性名 としてJSONのキーに変換されます
  • テキストと子要素が混在する場合、テキストは #text に格納されます
  • 同名の子要素が複数ある場合は配列になります
  • JSONからXMLへの変換時、トップレベルのキーが1つならそれがルート要素名になります
  • コメントはJSON/YAMLに変換するとき失われます

よくある質問

Q. YAMLのコメントは変換後も残りますか?
JSONはコメントをサポートしていないため、YAML→JSON変換時にコメントは失われます。XMLのコメントも同様にJSON/YAML変換時に削除されます。
Q. XMLの属性はどう変換されますか?
XML属性は「@属性名」というキーでJSON/YAMLに変換されます。例えば <user id="1"> は {"user": {"@id": "1"}} になります。逆方向も同じルールで復元されます。
Q. アンカー(&)・エイリアス(*)などのYAML機能は使えますか?
標準YAML 1.2の機能(アンカー・エイリアス・タグなど)はパース時に展開されてJSON/XMLに変換されます。展開後の構造で出力されます。
Q. 巨大なファイルでも変換できますか?
ブラウザのメモリ次第ですが、数MB程度までは問題なく処理できます。大量データの場合はサーバー側ツールの利用を推奨します。
Q. 入力データはどこかに保存されますか?
いいえ。すべての変換処理はブラウザ内のJavaScriptで完結しており、サーバーへの送信は一切行われません。機密情報を含む設定ファイルでも安心して利用できます。

関連ツール

このツールを評価
(0件)