J_diagnosis_2 / app.py
youngtsai's picture
share=True
d41ecd3
raw
history blame contribute delete
No virus
1.2 kB
import gradio as gr
import json
from typing import Dict, Any
def validate_json(json_text: str) -> Dict[str, Any]:
try:
parsed_json = json.loads(json_text)
return {"is_valid": True, "parsed_json": parsed_json}
except json.JSONDecodeError as e:
return {"is_valid": False, "error": str(e)}
def display_result(result: Dict[str, Any]) -> str:
if result["is_valid"]:
return f"JSON ζœ‰ζ•ˆγ€‚θ§£ζžη΅ζžœοΌš\n{json.dumps(result['parsed_json'], indent=2, ensure_ascii=False)}"
else:
return f"JSON η„‘ζ•ˆγ€‚ιŒ―θͺ€οΌš{result['error']}"
def create_interface() -> gr.Blocks:
with gr.Blocks() as demo:
gr.Markdown("# JSON 驗證器")
with gr.Row():
json_input = gr.Textbox(label="θ«‹θΌΈε…₯ JSON ζ–‡ε­—", lines=5)
output = gr.Textbox(label="ι©—θ­‰η΅ζžœ", lines=5)
validate_button = gr.Button("ι©—θ­‰ JSON")
validate_button.click(
fn=lambda x: display_result(validate_json(x)),
inputs=json_input,
outputs=output
)
return demo
if __name__ == "__main__":
interface = create_interface()
interface.launch(share=True)