下面是一个 Python 实现的 JSON 格式化工具,包含一个 GUI 界面。界面分为上下两边,上边用于输入原始 JSON 数据,下边显示格式化后的 JSON 数据。
所需库
tkinter:用于创建 GUI 界面json:用于处理 JSON 数据
代码实现
import tkinter as tk
from tkinter import scrolledtext, messagebox
import json
class JSONFormatter:
def __init__(self, root):
self.root = root
self.root.title("JSON 格式化工具")
self.root.geometry("800x600")
self.create_widgets()
def create_widgets(self):
# 左边原始 JSON 输入区域
self.raw_json_label = tk.Label(self.root, text="原始 JSON 格式:")
self.raw_json_label.pack(pady=5)
self.raw_json_text = scrolledtext.ScrolledText(self.root, width=80, height=20)
self.raw_json_text.pack(pady=5)
# 格式化按钮
self.format_button = tk.Button(self.root, text="格式化", command=self.format_json)
self.format_button.pack(pady=10)
# 右边格式化后的 JSON 显示区域
self.formatted_json_label = tk.Label(self.root, text="格式化 JSON:")
self.formatted_json_label.pack(pady=5)
self.formatted_json_text = scrolledtext.ScrolledText(self.root, width=80, height=20)
self.formatted_json_text.pack(pady=5)
def format_json(self):
raw_json = self.raw_json_text.get("1.0", tk.END)
try:
parsed_json = json.loads(raw_json)
formatted_json = json.dumps(parsed_json, indent=4, ensure_ascii=False)
self.formatted_json_text.delete("1.0", tk.END)
self.formatted_json_text.insert(tk.END, formatted_json)
except json.JSONDecodeError as e:
messagebox.showerror("错误", f"无效的 JSON 数据:\n{e}")
if __name__ == "__main__":
root = tk.Tk()
app = JSONFormatter(root)
root.mainloop()
功能描述
- 原始 JSON 格式输入:左边文本框用于输入原始 JSON 数据。
- 格式化按钮:点击“格式化”按钮后,程序会将左边文本框中的 JSON 数据进行格式化。
- 格式化 JSON 显示:右边文本框显示格式化后的 JSON 数据。
使用说明
- 在上边文本框中输入或粘贴原始的 JSON 数据。
- 点击“格式化”按钮。
- 格式化后的 JSON 数据会显示在下边文本框中。
进一步优化
- 错误提示:当输入的 JSON 数据格式不正确时,弹出错误提示。
- 复制功能:可以添加按钮实现一键复制格式化后的 JSON 数据。
- 文件导入导出:可以添加文件导入和导出功能,方便用户直接读取和保存 JSON 数据。
当前文章价值7元,扫一扫支付后添加微信提供帮助!(如不能解决您的问题,可以申请退款)

评论已关闭!