1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > python中xml和json数据相互转换

python中xml和json数据相互转换

时间:2019-12-16 18:37:58

相关推荐

python中xml和json数据相互转换

作者:lizhonglin

github: /Leezhonglin/

blog: https://leezhonglin.github.io/

最近遇到一个问题需要使用python处理xml数据问题,我们平时的前后端交付都是使用的json来处理.但是我们现在需要和C++进行配合开发.C++主要还是使用xml来处理数据.查询了发现python有一个比较好用的库,专门来处理xmljson之间相互转换的.

安装命令

pip install xmltodict

我专门写了两个处理jsonxml的函数如下

import jsonimport xmltodictb = """<?xml version="1.0" encoding="utf-8"?><user_info><id>12</id><name>Tom</name><age>12</age><height>160</height><score>100</score><variance>12</variance></user_info>"""# 定义xml转json的函数def xml_to_json(xml_str):# parse是的xml解析器xml_parse = xmltodict.parse(xml_str)# json库dumps()是将dict转化成json格式,loads()是将json转化成dict格式。# dumps()方法的ident=1,格式化jsonjson_str = json.dumps(xml_parse, indent=1)return json_stra = {"user_info": {"id": 12,"name": "Tom","age": 12,"height": 160,"score": 100,"variance": 12}}# json转xml函数def json_to_xml(json_str):# xmltodict库的unparse()json转xml# 参数pretty 是格式化xmlxml_str = xmltodict.unparse(json_str, pretty=1)return xml_strprint("---------------------------分割线----------------------------------")print(xml_to_json(b))print("---------------------------分割线----------------------------------")print(json_to_xml(a))print("---------------------------分割线----------------------------------")

运行后的效果如下

---------------------------分割线----------------------------------{"user_info": {"id": "12","name": "Tom","age": "12","height": "160","score": "100","variance": "12"}}---------------------------分割线----------------------------------<?xml version="1.0" encoding="utf-8"?><user_info><id>12</id><name>Tom</name><age>12</age><height>160</height><score>100</score><variance>12</variance></user_info>---------------------------分割线----------------------------------

原创作品,欢迎转载收藏…

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。