问题
Streamlit 应用开发者用 st.json 展示 JSON 时发现它“只支持查看 JSON 数据”,无法在界面内编辑;一旦需要改数据只能回到代码或外部工具,交互链路被打断。相关的相邻痛点是 data_editor 展示后“没有办法方便地按某一列过滤”,用户明确希望“similar to excel”。这两个请求在 Streamlit 官方仓库挂了较久仍未解决,说明应用内的数据编辑体验存在真实缺口。
目标用户
用 Streamlit 构建内部工具和数据应用的 Python 开发者(数据工程师、算法工程师、分析师出身的 builder)。从 issue 的持续出现看这是一个活跃但偏小的开发者群体,痛点真实但付费意愿未经验证。
解决方案
- 第三方 Streamlit 自定义组件
st_json_editor:树状可视化编辑 JSON,支持增删改键值和嵌套结构 - 编辑结果双向同步回 Python session state,返回与 st.text_input 一致的可序列化值
- 基础校验:类型约束、必填字段提示,防止编辑出非法结构
- 可选暗色/亮色主题,适配 Streamlit 应用观感
- AI 的角色有限:可在后续版本中提供自然语言改 JSON 的辅助编辑,但核心是组件工程而非模型能力
MVP 范围
第一个版本:一个开源 Streamlit 自定义组件 st_json_editor,支持 JSON 展示、增删改键值、嵌套结构编辑、编辑结果双向同步回 Python 端,附带基础类型校验和示例应用。不做 dataframe 列筛选(另一个相邻需求,后续可加)、不做 JSON Schema 自动生成、不做版本对比、不做云端托管。
风险
平台依赖是最大风险:Streamlit 官方随时可能直接实现 st.json 的编辑参数或 data_editor 列筛选,使组件一夜失效(2023 年的列筛选请求至今未关,但 2025 年仍有新的编辑请求,说明官方尚未做)。变现风险:目标用户是开源工具开发者,付费意愿为零,只能靠开源积累后走支持、Pro 版或咨询。维护风险:需跟随 Streamlit API 和 React 生态版本持续维护。
已有产品
| 产品 | 定位 | 价格 |
|---|---|---|
| streamlit | 平台官方;其 st.json 目前只读,是问题的来源而非解决者,但其官方路线图是最大不确定因素。 | — |
信号证据
这张卡片依据的原始讨论。摘录保持原文,点“原文”查看上下文。
GitHub Issues · streamlit/streamlit3月18日功能请求▲ 463 条评论
“Implement editing functionality for JSON data. The `st.json` command currently only supports viewing JSON data.”
The `st.json` command currently only supports viewing JSON data.原文
GitHub Issues · streamlit/streamlit3月8日功能请求▲ 6719 条评论
“It would be nice if in the experimental data editor header columns allow filtering, similar to excel.”
Once a dataframe is displayed, there is no way to easily filter by a given column.原文