前言技术栈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 官方文档:


已注销
1 声望1 粉丝