前言技术栈Windows 10
Python 3.11.8
Gradio 5.6.0
Streamlit 1.40.1Gradio 格式化 json示例代码import gradio as gr
import json
def format_json(input_json):
try:
json_obj = json.loads(input_json)
formatted_json = json.dumps(json_obj, indent=4)
# 返回两个相同的值,一个用于更新输入框,一个用于显示在代码框中
return formatted_json, formatted_json
except json.JSONDecodeError:
return "输入的字符串不是有效的JSON格式。", ""
with gr.Blocks() as demo:
# 创建一个文本输入框,让用户输入JSON字符串
json_input = gr.Textbox(lines=3, label="请输入JSON字符串")
# 创建一个代码框,用于高亮显示格式化后的JSON
json_code = gr.Code(label="格式化后的JSON代码", language="json")
# 创建一个按钮,用户点击后格式化JSON字符串
format_btn = gr.Button("格式化JSON")
# 绑定按钮点击事件,更新输入框和代码框的值
format_btn.click(fn=format_json, inputs=json_input, outputs=[json_input, json_code])
demo.launch()格式化前截图
格式化后截图
Streamlit 格式化 json示例代码import streamlit as st
import json
def format_json(user_input):
try:
# 尝试将输入的字符串解析为JSON对象
json_obj = json.loads(user_input)
# 将JSON对象格式化为字符串
formatted_json = json.dumps(json_obj, indent=4)
return formatted_json
except json.JSONDecodeError:
# 如果输入的字符串不是有效的JSON,返回错误信息
return "输入的字符串不是有效的JSON格式。"
user_input = st.text_area("请输入JSON字符串")
if st.button("格式化JSON"):
# 格式化输入的JSON字符串
formatted_json = format_json(user_input)
# 输出格式化后的 json
st.json(formatted_json)示例截图
截至 Streamlit 1.40.1,Streamlit 似乎无法复用数据框输出内容相关阅读Gradio 官方文档:
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。