A. 痛点描述(Problem)#
非结构化文本里藏着大量“可用数据”,但人工整理非常耗时:
- 群聊里一堆需求点,要整理成接口参数 JSON
- 日志里混着 key=value、时间戳、错误堆栈,要抽出字段做排查
- 业务同事给了一段“半结构化”描述,要整理成配置 JSON 交给程序读取
手动提取的问题是:慢、漏字段、容易写出不合法 JSON(引号/逗号/转义一堆坑)。
AI 的强项正是“理解语义 → 输出结构”。但要做到工程可用,必须配合严格的校验与格式化,把结果落地成“能解析、能生成代码、能直接使用”的产物。
B. 核心原理(Deep Dive)——AI 能提取结构,但你必须把“契约”讲清楚#
AI 输出 JSON 的质量,取决于你给它的约束:
- 字段集合:哪些字段必须有?哪些可选?允许额外字段吗?
- 类型约束:字符串/数字/布尔/数组/对象?日期是时间戳还是 ISO 字符串?
- 容错规则:遇到缺失值怎么办?是
null还是空字符串? - 输出格式:必须是“纯 JSON”,不能带解释文字,不能带 Markdown 代码块标记
否则你会得到“看起来像 JSON、实际不可解析”的输出(例如多了注释、尾逗号、或混入说明文字)。
C. 操作指南(Step-by-step)——从“杂乱文本”到“可用 JSON”的稳定流程#
工具:小算云箱 JSON 工作台
👉 立即使用:工具页面
第一步:准备输入(原始文本 + 你想要的结构)#
把原始文本贴出来,同时给 AI 一个“目标结构骨架”。例如你希望得到:
title:字符串priority:枚举(P0/P1/P2)owner:字符串或 nullsteps:字符串数组acceptance:字符串数组related_links:URL 数组
结构骨架本身就是“契约”,会大幅减少模型自由发挥。
第二步:直接用这套提示词模板(可复制)#
模板 1:把需求/聊天整理成结构化 JSON(强约束,工程可用)#
把下列模板发给你常用的 AI(任意大模型都可以):
-
角色:你是一个只输出 JSON 的数据抽取器。
-
任务:从文本中抽取字段并输出 JSON。
-
约束:
- 只输出一段合法 JSON,禁止输出任何解释、注释、Markdown。
- 字段必须严格使用如下 schema,不得新增字段:
- title: string
- priority: "P0" | "P1" | "P2"
- owner: string | null
- steps: string[]
- acceptance: string[]
- related_links: string[]
- 缺失值用 null;数组为空用 [];字符串禁止用 "N/A" 代替。
- 如果文本包含多个条目,输出数组:[{...}, {...}]
-
输入文本: <<< (粘贴你的原始文本)
模板 2:从日志抽取关键字段(适合排障/追踪)#
- 只输出合法 JSON
- 输出字段:
- timestamp: string(原样保留)
- level: string
- service: string | null
- trace_id: string | null
- message: string
- kv: object(把 key=value 尽可能放进 kv)
- errors: string[](堆栈/错误信息)
- 输入: <<< (粘贴日志片段)
第三步:把 AI 输出粘贴到 JSON 工作台做“落地校验”#
👉 立即使用工具
建议按这个顺序点:
- 格式化
- 如果能格式化,说明至少语法是合法的
- 格式化后结构一目了然,便于你检查字段是否遗漏/类型是否错
- 右侧树预览:搜索 + 复制路径
- 搜索
trace_id/priority等关键字段,确认是否被抽到 - 复制路径(例如
$.items[2].owner),用于回写提示词做迭代约束
- 编码:斜杠转义 / 去斜杠转义(按需要)
- 当 AI 把一段 JSON 放进字符串字段时,经常会产生转义问题
- 用“去斜杠转义”把字符串还原为可再次解析的 JSON,再格式化一次确认
- 转换:JSON → 代码实体(强推荐)
- 选择 TypeScript/Go/Java/C#/Python
- 设置根类型名,例如
TaskItem/LogEvent - 直接生成实体代码,避免手写字段与类型
D. 常见问题(FAQ)#
1)为什么 AI 经常输出“带解释文字”的 JSON?#
因为默认模式会“回答问题”。你必须在提示词里明确:只输出 JSON,禁止任何解释/Markdown。
2)如何避免字段类型漂移(比如数字变字符串)?#
在 schema 里强制写明类型,并补一句:如果无法确定类型,优先输出 null,不要猜。
3)AI 输出看起来正确,但解析失败怎么办?#
把结果粘贴到 JSON 工作台,看错误行列号;高频原因是尾逗号、非法转义、或混入了不可见字符。
4)如何把一段 JSON 变成 TS/Go 的结构体/类型?#
在 JSON 工作台点“转换 → JSON → 代码实体”:
立即使用工具
工具推荐#
- JSON 工作台(校验/格式化/转义/转换/代码生成):立即使用工具
- JSON 编辑器(更偏编辑场景):立即使用:JSON 在线编辑器
