文章目录

  • 一、说明:
  • 二、简单操作使用:
  • 1、json转xml:
  • ①、安装:
  • ②、代码中的josn
  • ③、代码:
  • 2、json转html:
  • ①、安装:
  • ②、代码:
  • 3、xml转json:
  • ①、安装:
  • ②、代码:
  • ③、去掉属性:
  • 4、html转json(暂时没有解决)


一、说明:

今天突然有个想法,吧json转化为xml和html然后就搜索,真的找到了相关的一些模块,既然有了模块,就找到几个简单的实例做个示范。
但是有一个我测试,没有弄成,还没有搞懂如何将html转换成json的模块的使用:
html2json模块地址

二、简单操作使用:

1、json转xml:

①、安装:

模块地址:

模块安装:

pip install dicttoxml

②、代码中的josn

我测试的json:

[
    {
        "新建文件夹": [
            "毒液v3_第01卷_06汉化.jpg.jpg",
            "毒液v3_第01卷_07汉化.jpg.jpg",
            "毒液v3_第01卷_08汉化.jpg.jpg",
            "毒液v3_第01卷_09汉化.jpg.jpg",
            "毒液v3_第01卷_10汉化.jpg.jpg",
            "毒液v3_第01卷_12汉化.jpg.jpg",
            "毒液v3_第01卷_13汉化.jpg.jpg",
            "毒液v3_第01卷_14汉化.jpg.jpg",
            "毒液v3_第01卷_15汉化.jpg.jpg",
            "毒液v3_第01卷_16汉化.jpg.jpg",
            "毒液v3_第01卷_18汉化.jpg.jpg",
            "毒液v3_第01卷_19汉化.jpg.jpg",
            "毒液v3_第01卷_20汉化.jpg.jpg",
            "毒液v3_第01卷_21汉化.jpg.jpg"
        ]
    },
    "毒液v3_第01卷_01汉化.jpg.jpg",
    "毒液v3_第01卷_02汉化.jpg.jpg",
    "毒液v3_第01卷_03汉化.jpg.jpg",
    "毒液v3_第01卷_04汉化.jpg.jpg",
    "毒液v3_第01卷_05汉化.jpg.jpg",
    "毒液v3_第01卷_06汉化.jpg.jpg",
    "毒液v3_第01卷_07汉化.jpg.jpg",
    "毒液v3_第01卷_08汉化.jpg.jpg",
    "毒液v3_第01卷_09汉化.jpg.jpg",
    "毒液v3_第01卷_10汉化.jpg.jpg",
    "毒液v3_第01卷_11汉化.jpg.jpg",
    "毒液v3_第01卷_12汉化.jpg.jpg",
    "毒液v3_第01卷_13汉化.jpg.jpg",
    "毒液v3_第01卷_14汉化.jpg.jpg",
    "毒液v3_第01卷_15汉化.jpg.jpg",
    "毒液v3_第01卷_16汉化.jpg.jpg",
    "毒液v3_第01卷_17汉化.jpg.jpg",
    "毒液v3_第01卷_18汉化.jpg.jpg",
    "毒液v3_第01卷_19汉化.jpg.jpg",
    "毒液v3_第01卷_20汉化.jpg.jpg",
    "毒液v3_第01卷_21汉化.jpg.jpg"
]

③、代码:

import dicttoxml
import json


dict_str = open('2、漫画柜2.json','r',encoding='utf-8').read()
data_dict = json.loads(dict_str)

data_xml = dicttoxml.dicttoxml(data_dict)
print("data_xml", data_xml)
with open('data.xml','w',encoding='utf-8') as file:
    file.write(data_xml.decode())

生成的xml:

python Django给html文件传参数 python html转json_json

2、json转html:

①、安装:

地址: 安装命令:

pip install json2html

②、代码:

json和上面测试一致。

这个使用模块返回的HTML是没有html的头文件的,所以我这里加入了头文件。把json转换的html直接嵌入到bady中。

代码:

from json2html import *
import json


dict_str = open('2、漫画柜2.json','r',encoding='utf-8').read()
data_dict = json.loads(dict_str)
data_xml = json2html.convert(data_dict)
# data_xml = json2html.convert(json=data_dict, table_attributes="id=\"info-table\" class=\"table table-bordered table-hover\"")
print("data_xml", data_xml)
html_head = '''<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
{}
</body>
</html>'''
result_html = html_head.format(data_xml)

with open('data1.html','w',encoding='utf-8') as file:
    file.write(result_html)

3、xml转json:

①、安装:

模块地址:

直接安装命令:

pip install xmltodict

②、代码:

我这里直接用刚刚转换成的xml进行测试:

import json

import xmltodict

f = open('data.xml', 'r', encoding='utf-8')
d = f.read()
# 先将xml转换为字典
data = xmltodict.parse(d)
print(data)
# 再将字典转换为json
strjson = json.dumps(data)
print(strjson)

with open('data2.json','w', encoding='utf-8') as file:
    json.dump(data,file,ensure_ascii=False,indent=4)

最后生成的比原来的多个属性。

python Django给html文件传参数 python html转json_xml_02

③、去掉属性:

根据上面的,然后我就想着能否将@的属性字典去掉,然后进入源码查看。

最终找到去掉@的方法:

python Django给html文件传参数 python html转json_html_03

上图就是源码使用的说明,吧xml_attribs参数设置为False就可以忽略了。

代码:

import json

import xmltodict

f = open('data.xml', 'r', encoding='utf-8')
d = f.read()
# 先将xml转换为字典
# data = xmltodict.parse(d)
data = xmltodict.parse(d, xml_attribs=False)
print(data)
# 再将字典转换为json
strjson = json.dumps(data)
print(strjson)

with open('data3.json','w', encoding='utf-8') as file:
    json.dump(data,file,ensure_ascii=False,indent=4)

这次生成的就比较干净了:

python Django给html文件传参数 python html转json_html_04

和原先的json一样。

4、html转json(暂时没有解决)

这个我找到了模块,但是还没有找到如何使用的,没有看懂如果使用的,如果有会的,希望告知一下哈。

html2json模块地址:

命令安装:

pip install html2json

这个如果有会的还希望告知一下,我这里暂时没有找到如何使用,没有看懂如何用template 参数。