前言
技术栈
Windows 10 Python 3.11.8 Gradio 5.6.0 Streamlit 1.40.1
Gradio 格式化 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 官方文档:https://www.gradio.app/docs/gradio/json
- Streamlit 官方文档:https://docs.streamlit.io/develop/api-reference/data/st.json
- 四种 Gradio 界面
本文出自 qbit snap
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。