Tutorial

PythonでJSONをXMLに変換する方法 – コード例付き完全チュートリアル

xmltodictとdicttoxmlを使用してPythonでJSONをXMLに変換する方法をステップバイステップで学習。例、コードスニペット、無料オンラインコンバーターを含む。

2025-10-11
5 min read

🐍 PythonでJSONをXMLに変換する方法:コード例付き完全チュートリアル

JSONXML形式間のデータ変換は、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を即座にダウンロード:

👉 JSONをXMLに変換 – 無料オンラインツール

  • • ✅ 100%無料でプライベート
  • • ⚡ 即座の変換
  • • 📁 アップロードとダウンロードをサポート


🏁 結論

xmltodictdicttoxmlのようなツールを使用すると、PythonでJSONをXMLに変換するのは簡単です。

APIデータの処理や構造化レポートのエクスポートにおいて、これらのスニペットはほとんどのユースケースに対応します。

クイック変換が必要な場合は、以下にアクセスしてください:

🔗 https://www.jsonwork.com/ja/json-to-xml

オンラインでお試しください — セットアップ不要!


JsonWork.comによって執筆 – JSONをオンラインで変換する最速の方法。
👨‍💻

JsonWork チーム

開発者に最高のJSON処理ツールを提供することに専念

関連投稿

さらに多くの投稿が近日公開予定...

ヘルプが必要ですか?