🐍 PythonでJSONをXMLに変換する方法:コード例付き完全チュートリアル
JSONとXML形式間のデータ変換は、Web開発、データ統合、API設計でよくあるタスクです。レガシーシステムの移行や新しいアプリケーションの構築において、Pythonでこの変換を効率的に実行する方法を知ることで、多くの時間を節約できます。
このガイドでは、基本的な例から本番環境で使用できるスニペットまで、必要なすべてを説明します。
🔍 JSONとXMLとは?
コードに入る前に、これらの2つの形式が何を表すかを明確にしましょう。
- • JSON(JavaScript Object Notation)
主にAPIやWebアプリで使用される軽量で人間が読める形式。
- • XML(Extensible Markup Language)
エンタープライズシステム、設定ファイル、レガシー統合で広く使用されるマークアップベースの形式。
両方の形式は階層的にデータを構造化しますが、構文とメタデータ表現が異なります。
⚙️ セットアップ:必要なライブラリのインストール
Pythonには組み込みのXML-JSON変換ユーティリティがありませんが、xmltodictのような軽量パッケージをインストールできます。
pip install xmltodictまたは、JSON → XML変換のみが必要な場合はdicttoxmlを使用できます。
pip install dicttoxml🧩 例1:xmltodictを使用してJSONをXMLに変換
JSONをXMLに変換する最も簡単な方法:
import json
import xmltodict
# サンプルJSON文字列
json_data = '{"user": {"name": "Alice", "age": 25, "city": "Tokyo"}}'
# JSONをPython辞書に変換
data_dict = json.loads(json_data)
# 辞書をXMLに変換
xml_data = xmltodict.unparse(data_dict, pretty=True)
print(xml_data)出力:<?xml version="1.0" encoding="utf-8"?>
<user>
<name>Alice</name>
<age>25</age>
<city>Tokyo</city>
</user>💡 ヒント:
カスタムルートタグを設定したり、XMLヘッダーを省略したりできます:
xmltodict.unparse(data_dict, full_document=False)🧠 例2:dicttoxmlを使用してJSONをXMLに変換
dicttoxmlは属性と型注釈により多くの制御を提供します。
import json
from dicttoxml import dicttoxml
json_data = '{"product": {"id": 101, "name": "Laptop", "price": 899.99}}'
data_dict = json.loads(json_data)
xml_data = dicttoxml(data_dict, custom_root='catalog', attr_type=False)
print(xml_data.decode())出力:<catalog>
<product>
<id>101</id>
<name>Laptop</name>
<price>899.99</price>
</product>
</catalog>🔄 ボーナス:XMLをJSONに戻す
プロセスを簡単に逆転できます:
import xmltodict
import json
xml_data = """
<user>
<name>Alice</name>
<age>25</age>
</user>
"""
data_dict = xmltodict.parse(xml_data)
json_output = json.dumps(data_dict, indent=4)
print(json_output)結果:{
"user": {
"name": "Alice",
"age": "25"
}
}🚀 完全なスクリプト例
プロジェクトで再利用できるコンパクトな関数:
import json
import xmltodict
def json_to_xml(json_string: str, root_tag: str = None) -> str:
data = json.loads(json_string)
if root_tag:
data = {root_tag: data}
return xmltodict.unparse(data, pretty=True)
# 使用例
sample_json = '{"device": {"id": 123, "status": "active"}}'
xml_result = json_to_xml(sample_json, root_tag="devices")
print(xml_result)🌐 オンライン代替案:即座に変換
コードを書きたくないですか?
代わりに無料のオンラインコンバーターをお試しください — JSONを貼り付けるかアップロードして、きれいなXMLを即座にダウンロード:
- • ✅ 100%無料でプライベート
- • ⚡ 即座の変換
- • 📁 アップロードとダウンロードをサポート
🏁 結論
xmltodictやdicttoxmlのようなツールを使用すると、PythonでJSONをXMLに変換するのは簡単です。
APIデータの処理や構造化レポートのエクスポートにおいて、これらのスニペットはほとんどのユースケースに対応します。
クイック変換が必要な場合は、以下にアクセスしてください:
🔗 https://www.jsonwork.com/ja/json-to-xml
オンラインでお試しください — セットアップ不要!
JsonWork.comによって執筆 – JSONをオンラインで変換する最速の方法。