Python下XML與JSON字符串互相轉換

#-*-coding:utf-8-*-
import xmltodict
import json
import os
import sys

def jsonToXML(json_str):
    '''傳入字典字符串或字典,返回xml字符串'''
    xml_str = ''
    if type(json_str) == dict:
        dic = json_str
    else:
        dic = json.loads(json_str)
    try:
        xml_str = xmltodict.unparse(dic, encoding='utf-8')  # 示例字典字符串下這段代碼會報錯
    except Exception as e:
        xml_str = xmltodict.unparse({'request': dic}, encoding='utf-8')  # request可根據需求修改,目的是爲XML字符串提供頂層標籤
    finally:
        return xml_str

def xmlToJson(xml_str):
    '''傳入xml字符串,返回字典'''
    dic = xmltodict.parse(xml_str, encoding='utf-8')
    dic = json.dumps(dic, indent=4)
    return dic

if __name__ == '__main__':
    s = '<e> <a>text</a> <a>text</a> </e>'
    dic = {"bbox":"-180,70,-178,72", "enable_has_geo":"on", "has_geo":"1", "geo_context":"", "lat": 41.4, "lon": 116.1, "enable_extras":"on","per_page":"250", "enable_page":"on", "page":"1", "format":"json", "sign_call":"full"}
    result = xmlToJson(s)
    result = jsonToXML(dic)
    print(result)

參考博客:
[1] python中將xml格式轉json格式

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章