XML と JSON を相互変換する
レガシー API との相互運用のために XML と JSON を変換します。属性、名前空間、混合コンテンツを保持します。
- 1
XML と JSON はモデルが異なります。XML には属性、名前空間、混在コンテンツがあり、JSON にはオブジェクト、配列、スカラーしかありません。変換には、属性(例:@attr)とテキスト内容(例:#text)の表現規約が必要です。
- 2 JSON XML 相互変換ツール →
XML を貼り付けると JSON が、JSON を貼り付けると XML が得られます。ツールは属性とテキストノードに一貫した規約を使い、名前空間をプレフィックスで処理します。
- 3 json-xml
チェーンを使って JSON→XML 変換を、整形出力と適切な宣言付きで一度に行います。XML を期待する API への送信に使えます。
- 4 XML フォーマッター →
XML 単体のフォーマットやミニファイにも使えます。XML は有効だが読みにくい場合や、転送のために圧縮したい場合に便利です。
よくある質問
- なぜ JSON では属性の見た目が変わるのですか?
- XML 属性に JSON の直接の等価物はありません。コンバータは通常、プレフィックスを付けたり(例:属性 id に @id)、特別なキーの下にネストしたりします。規約はツールによって異なるため、利用前に出力構造を確認してください。
- すべての XML を JSON に変換できますか?
- ほとんどの XML は変換できますが、混在コンテンツ(<p>Hello <b>world</b></p> のようにテキストと子要素が混ざる)は JSON では扱いにくく、配列の規約が必要です。名前空間や処理命令も失われるか、異なる表現になる場合があります。
このタスクを解決するワークフロー
JSON から XML へ変換
JSON ドキュメントを XML 形式に変換し、XML のみを受け付けるレガシー統合に対応する。 パイプライン
JSON からフォーマット済み XML へ変換
JSON ドキュメントを XML に変換し、可読性のために結果を整形する。 パイプライン
Plist から JSON を経て XML へ変換
Apple Plist を JSON に変換し、その後汎用 XML に変換する。 パイプライン
生 XML ドキュメントのフォーマット
ミニファイまたは未フォーマットの XML ドキュメントを人間のレビューのために整形する。 パイプライン
XML から JSON を経て CSV へ変換
XML ドキュメントを JSON 中間体経由で CSV に平坦化し、スプレッドシート消費に対応する。 パイプライン
XML から JSON を経て YAML へ変換
XML を JSON に変換し、その後設定生成のために YAML に変換する。 パイプライン