最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實現(xiàn)將Json轉(zhuǎn)換為Xml與Markdown

 更新時間:2025年07月29日 09:21:22   作者:Kyln.Wu  
這篇文章主要為大家詳細介紹了如何利用Python實現(xiàn)將Json轉(zhuǎn)換為Xml與Markdown格式,文中的示例代碼講解詳細,有需要的小伙伴可以了解一下

Python Json轉(zhuǎn)Xml

前景提要

17:55,你正準備關(guān)機,老板在群里@你:“把客戶給的 test-input.json 轉(zhuǎn)成 XML,今晚接口聯(lián)調(diào)要用。”

你打開文件,瞬間頭大:嵌套的對象、數(shù)組、布爾值混成一鍋粥。手敲 <tag>?估計得加班到凌晨。

你把同事剛發(fā)你的 json_to_xml.py 往命令行一扔——

python json_to_xml.py

3 秒后,test-output.xml 靜靜躺在桌面,標簽層級分明,連 <?xml version="1.0"?> 都寫好了。
這把“瑞士軍刀”從此常駐你的 U 盤。

代碼解析 1

通俗解釋

就像把一封英文信先翻譯成中文再讀,這一步讓 Python 能把 JSON 內(nèi)容當積木玩。

關(guān)鍵代碼

with open("test-input.json", "r") as json_file:
    json_data = json.load(json_file)  # 把 JSON 字符串變成 Python 字典或列表

代碼解析 2

通俗解釋

JSON 像俄羅斯套娃,大盒子里還有小盒子。腳本一層層拆開:遇到盒子(對象/數(shù)組)就繼續(xù)拆,遇到糖果(字符串/數(shù)字)就貼標簽。

關(guān)鍵代碼

def json_to_xml(json_obj, line_padding=""):
    result_list = []
    if isinstance(json_obj, dict):
        for key, value in json_obj.items():
            result_list.append(f"{line_padding}<{key}>")
            result_list.append(json_to_xml(value, line_padding + "  "))
            result_list.append(f"{line_padding}</{key}>")
    elif isinstance(json_obj, list):
        for element in json_obj:
            result_list.append(json_to_xml(element, line_padding))
    else:
        result_list.append(f"{line_padding}{json_obj}")
    return "\n".join(result_list)

代碼解析 3

通俗解釋

拆到最底層時,腳本自動把鍵名變成標簽名,把值放進標簽中間,同時用兩個空格縮進,讓 XML 像樓梯一樣好看。

關(guān)鍵代碼

# 示例輸出片段
"""
<person>
  <name>Alice</name>
  <age>30</age>
</person>
"""

代碼解析 4

通俗解釋

就像把整理好的筆記放進文件夾,這一步把字符串一次性寫進文件,順手加上 XML 文件頭。

關(guān)鍵代碼

xml_data_with_header = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" + xml_data
with open("test-output.xml", "w") as file:
    file.write(xml_data_with_header)

擴展點子

1. 批量處理整個文件夾

給腳本加一個循環(huán),讓它一次吃下一整碗 JSON。

import glob
for json_path in glob.glob("*.json"):
    with open(json_path, "r") as f:
        data = json.load(f)
    xml_str = json_to_xml(data)
    save_xml_file(xml_str, json_path.replace(".json", ".xml"))

2. 30 秒套個圖形界面

tkinter 做一個小窗口,拖文件就能轉(zhuǎn)。

import tkinter as tk
from tkinter import filedialog

root = tk.Tk()
root.withdraw()  # 只彈出文件選擇框
input_path = filedialog.askopenfilename(title="選 JSON")
with open(input_path, "r") as f:
    xml = json_to_xml(json.load(f))
save_xml_file(xml, input_path.replace(".json", ".xml"))

總結(jié)

你剛體驗了一把“零門檻”自動化:把任何 JSON 文件扔給腳本,3 秒就能收獲排版漂亮的 XML。它不需要安裝額外庫,只用系統(tǒng)自帶 Python;加上兩條簡單擴展,還能批量、還能點點鼠標。下次再有人甩來配置,你就笑瞇瞇地雙擊腳本——下班前就能回家追劇。

Python Json轉(zhuǎn)Markdown

周五 18:00,你正準備關(guān)機,老板甩來一個 200 行的 config.json:“下班前把這份配置整理成文檔發(fā)我。”

你打開文件,瞬間眼花:嵌套的對象、數(shù)組、布爾值混成一團。手敲 Markdown?估計得加班到半夜。

這時,你把今天剛拿到的小腳本 script.py 往命令行一扔——

python script.py -i config.json -o config.md

3 秒后,config.md 靜靜躺在桌面:標題、縮進、代碼塊全排好,老板直夸“專業(yè)”。

這把“瑞士軍刀”從此常駐你的工具箱。

代碼解析 1

通俗解釋

就像把一封英文信先翻譯成中文再讀,這一步讓 Python 能“聽懂” JSON 的內(nèi)容。

關(guān)鍵代碼

def load_json(file):
    try:
        with open(file, 'r') as f:
            data = f.read()
        return json.loads(data)  # 把 JSON 字符串變成 Python 字典或列表
    except:
        print("[ERROR] 文件必須是合法的 json")

代碼解析 2

通俗解釋

JSON 像俄羅斯套娃,大盒子里還有小盒子。腳本一層層拆開,遇到盒子(對象/數(shù)組)就繼續(xù)拆,遇到糖果(字符串/數(shù)字)就貼標簽。

關(guān)鍵代碼

def parse_json(json_block, depth, options):
    if isinstance(json_block, dict):
        parse_dict(json_block, depth, options)
    if isinstance(json_block, list):
        parse_list(json_block, depth, options)

代碼解析 3

通俗解釋

拆到最后,給每個“糖果”寫上名字和味道:age: 18。腳本自動在前面加 - 和反引號,讓 Markdown 格式一步到位。

關(guān)鍵代碼

def add_value(key, value, depth):
    chain = tab * (bool(depth - 1)) + list_tag + \
            str(key) + ": " + inline_code + str(value) + inline_code + "\n"
    global markdown
    markdown += chain

代碼解析 4

通俗解釋

就像把整理好的筆記放進文件夾,這一步把生成的 Markdown 字符串一次性寫進指定文件,完事收工。

關(guān)鍵代碼

def write_out(markdown, output_file):
    with open(output_file, 'w+') as f:
        f.write(markdown)

擴展點子

1. 批量處理整個文件夾

給腳本加一個 -b 參數(shù),讓它一次吃下一整碗 JSON。

# 在 main() 里加幾行
import glob
if args.batch:
    for json_path in glob.glob('*.json'):
        convert(json_path, json_path[:-4] + 'md', options)

2. 30 秒套個圖形界面

用 tkinter 做一個小窗口,拖文件就能轉(zhuǎn)。

import tkinter as tk
from tkinter import filedialog

???????root = tk.Tk()
root.withdraw()  # 只彈出文件選擇框
input_path = filedialog.askopenfilename(title="選 JSON")
convert(input_path, input_path[:-4] + 'md', {'ignore': '', 'keep': ''})

總結(jié)

你剛體驗了一把“零門檻”自動化:把任何 JSON 文件扔給腳本,3 秒就能收獲排版漂亮的 Markdown。它不需要安裝額外庫,只用系統(tǒng)自帶 Python;加上兩條簡單擴展,還能批量、還能點點鼠標。下次再有人甩來配置,你就笑瞇瞇地雙擊腳本——下班前就能回家追番。

到此這篇關(guān)于Python實現(xiàn)將Json轉(zhuǎn)換為Xml與Markdown的文章就介紹到這了,更多相關(guān)Python Json格式轉(zhuǎn)換內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 只用Python就可以制作的簡單詞云

    只用Python就可以制作的簡單詞云

    今天教大家如何只用Python制作簡單詞云,文中有非常詳細的介紹及代碼示例,對正在學習python的小伙伴們很有幫助,需要的朋友可以參考下
    2021-06-06
  • Django URL參數(shù)Template反向解析

    Django URL參數(shù)Template反向解析

    這篇文章主要介紹了Django URL參數(shù)Template反向解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-11-11
  • 教你用pytorch訓練五子棋ai示例代碼

    教你用pytorch訓練五子棋ai示例代碼

    這篇文章主要介紹了五個與五子棋相關(guān)的Python文件,包括游戲邏輯、神經(jīng)網(wǎng)絡模型、訓練代碼以及玩家對戰(zhàn)代碼,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2025-03-03
  • Python實戰(zhàn)小游戲飛機大戰(zhàn)詳解

    Python實戰(zhàn)小游戲飛機大戰(zhàn)詳解

    飛機大戰(zhàn)想必是很多人童年時期的經(jīng)典游戲,我們依舊能記得抱個老人機娛樂的場景,下面這篇文章主要給大家介紹了關(guān)于如何利用python寫一個簡單的飛機大戰(zhàn)小游戲的相關(guān)資料,需要的朋友可以參考下
    2021-11-11
  • python 獲得任意路徑下的文件及其根目錄的方法

    python 獲得任意路徑下的文件及其根目錄的方法

    今天小編就為大家分享一篇python 獲得任意路徑下的文件及其根目錄的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • 使用Scrapy爬取動態(tài)數(shù)據(jù)

    使用Scrapy爬取動態(tài)數(shù)據(jù)

    今天小編就為大家分享一篇關(guān)于使用Scrapy爬取動態(tài)數(shù)據(jù)的文章,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • 基于Python實現(xiàn)微信自動回復功能

    基于Python實現(xiàn)微信自動回復功能

    這篇文章主要為大家詳細介紹了Python如何通過WechatPCAPI來實現(xiàn)微信自動回復的功能,文中的示例代碼講解詳細,快跟隨小編一起動手嘗試一下
    2022-06-06
  • Python自動化操作Excel生成專業(yè)數(shù)據(jù)透視表的實戰(zhàn)指南

    Python自動化操作Excel生成專業(yè)數(shù)據(jù)透視表的實戰(zhàn)指南

    在數(shù)據(jù)分析的廣闊領(lǐng)域中,數(shù)據(jù)透視表無疑是處理和理解海量數(shù)據(jù)的強大工具,本文將深入探討如何利用Python庫,實現(xiàn)Excel數(shù)據(jù)透視表的自動化生成、配置與格式化,感興趣的可以了解下
    2025-12-12
  • python+opencv實現(xiàn)動態(tài)物體追蹤

    python+opencv實現(xiàn)動態(tài)物體追蹤

    這篇文章主要為大家詳細介紹了python+opencv實現(xiàn)動態(tài)物體的追蹤,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • Python GUI編程學習筆記之tkinter控件的介紹及基本使用方法詳解

    Python GUI編程學習筆記之tkinter控件的介紹及基本使用方法詳解

    這篇文章主要介紹了Python GUI編程學習筆記之tkinter控件的介紹及基本使用方法,結(jié)合實例形式詳細分析了Python GUI編程中tkinter控件的原理、用法及相關(guān)操作注意事項,需要的朋友可以參考下
    2020-03-03

最新評論

彰化市| 简阳市| 日照市| 长宁区| 库尔勒市| 青神县| 宁夏| 昌乐县| 积石山| 万荣县| 阳城县| 鄂托克旗| 福海县| 绍兴县| 涿州市| 常熟市| 东乡族自治县| 高雄县| 扶沟县| 汤原县| 牟定县| 民县| 彰化县| 邵东县| 多伦县| 榕江县| 新津县| 扎赉特旗| 车致| 从化市| 科技| 河池市| 诸暨市| 营山县| 文安县| 四川省| 玛沁县| 德惠市| 夏邑县| 楚雄市| 徐水县|