动态

详情 返回 返回

Gradio/Streamlit 格式化 json(qbit) - 动态 详情

前言技術棧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 官方文檔:

user avatar chaoqipengbodehanbaobao 头像
点赞 1 用户, 点赞了这篇动态!
点赞

Add a new 评论

Some HTML is okay.