前言
技術棧
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
本文出自 qbit snap