如何第一时间看到新文章?
收藏本博客列表页,并在首页与工具聚合页留意指南入口。阅读文章无需注册或邮件订阅。
学习如何使用 xmltodict 和 dicttoxml 在 Python 中逐步将 JSON 转换为 XML。包含示例、代码片段和免费在线转换器。
在 JSON 和 XML 格式之间转换数据是 Web 开发、数据集成和 API 设计中的常见任务。
无论您是在迁移遗留系统还是构建新应用程序,了解如何在 Python 中高效执行此转换都将为您节省大量时间。
在本指南中,我们将介绍您需要的一切——从基本示例到生产就绪的代码片段。
在深入代码之前,让我们明确这两个格式代表什么。
一种轻量级、人类可读的格式,主要用于 API 和 Web 应用程序。
一种基于标记的格式,广泛用于企业系统、配置文件和遗留集成。
两种格式都以层次结构组织数据,但它们在语法和元数据表示方面有所不同。
Python 不包含内置的 XML-JSON 转换实用程序,但您可以安装像 xmltodict 这样的轻量级包。
pip install xmltodict或者,如果您只需要 JSON → XML 转换,可以使用 dicttoxml。
pip install dicttoxmlxmltodict 将 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)dicttoxml 将 JSON 转换为 XMLdicttoxml 在属性和类型注释方面提供更多控制。
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>您可以轻松地逆转此过程:
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:
使用 xmltodict 和 dicttoxml 等工具,在 Python 中将 JSON 转换为 XML 很简单。
无论您是在处理 API 数据还是导出结构化报告,这些代码片段都将处理大多数用例。
如果您只需要快速转换,请访问:
🔗 https://www.jsonwork.com/zh-cn/tools/converters/json-to-xml
在线试用——无需设置!
致力于为开发者提供最佳的 JSON 处理工具
更多文章即将发布...
返回博客关于跟进更新、选题方向与互动反馈。
收藏本博客列表页,并在首页与工具聚合页留意指南入口。阅读文章无需注册或邮件订阅。
围绕 JSON 校验、格式化、转换与调试流程,以及 JSON Work 工具更新,与在线工具的本地能力一一对应。
可以。请通过关于页的联系方式或 GitHub 反馈;我们会优先安排贴近真实开发场景的教程。