学会 JSON 路径取值,把语音转写 API 的 transcript、置信度与时间戳接入内容生产、审核与工单自动化工作流。

JSON 入门:把语音助手数据接入自动化工作流
你每次把语音转文字(STT)接进业务系统时,真正“卡住”的往往不是模型效果,而是返回的那一大坨结构化数据:metadata、results、channels、alternatives、words……你只想要一句话的转写结果,却得先学会在 JSON 里准确找到它。
对小团队来说,理解 JSON 不只是“程序员技能”。它是把 AI 语音助手变成 可执行的自动化工作流的基础能力:你要把转写文本送进工单系统、把关键词触发到 CRM、把客服通话摘要同步到内容库或审核队列——这些系统之间交流的共同语言,几乎都是 JSON。
这篇文章放在《人工智能在媒体与内容产业》系列里来看,意义更明确:媒体与内容团队越来越依赖语音数据(访谈、播客、直播切片、客服录音、UGC 语音留言),而 JSON 决定了这些语音数据能不能顺利进入 智能创作、内容审核、用户画像与内容推荐的管线。
JSON 是语音 API 和自动化工具的“交接单”
直接说结论:JSON 是你从 AI 语音 API 拿到结果、并交给下游系统执行动作的标准载体。它轻量、可读、跨语言,几乎所有 SaaS 自动化平台(以及你自建服务)都默认它。
一个典型语音转写 API 的返回,不会只给你转写文本。它通常还会包含:
- 元数据:请求 ID、创建时间、音频时长、模型信息等(便于排障与审计)
- 候选结果 alternatives:多种转写可能性及置信度(便于选择或做一致性校验)
- 逐词时间戳 words:每个词的开始/结束时间、置信度、说话人(便于字幕、切片、检索与审核)
在媒体场景里,这些“多余信息”其实很值钱:逐词时间戳能自动生成字幕、说话人标签能做访谈整理、置信度能做质量门槛。但在自动化落地时,你得先学会一件事:从 JSON 里精确取你需要的字段。
先把语法搞对:对象、数组、键值对
先把最容易踩坑的点说清楚:
- JSON 的根通常是 对象(object) 或 数组(array)
- 对象用
{}包起来,由一组 键值对组成 - 数组用
[]包起来,是一串有序元素,通过索引访问(从0开始) - 键(key)必须用双引号:
"name"这种形式 - 不能有尾随逗号(这点和某些 JavaScript 写法不同)
- 不支持注释(做配置文件时尤其烦,但现实就是这样)
一个简单对象长这样:
{
"name": "Luke Skywalker",
"height": 172,
"jedi_knight": true,
"films": ["A New Hope", "Return of the Jedi"]
}
JSON 的数据类型:够用,但别指望它替你做业务语义
JSON 的 value 只有几类:string、number、object、array、boolean、null。
注意两个实用事实:
- 没有日期类型:日期通常用 ISO 8601 字符串(例如
2026-02-12T10:15:30Z) - 数字很“宽松”:它不区分 int/float,具体精度是由接收方语言决定的
对自动化工作流来说,这意味着:你在“取值”之后,往往还要做 类型转换与格式化(比如把时间戳变成人类可读时间、把秒数转成 mm:ss、把字符串日期解析成系统日期类型)。
真正关键的一步:从语音转写 JSON 里拿到 transcript
最常见的真实场景是:你调用语音转写 API,返回一个很深的 JSON。以 Deepgram 的结构为例,它大致是:
- 根对象
metadata(元数据对象)results(结果对象)channels(数组)- 第 0 个 channel
alternatives(数组)- 第 0 个 alternative
transcript(你想要的文本)
- 第 0 个 alternative
- 第 0 个 channel
用一句话概括:对象用 key 取值,数组用索引取值,把它们串起来就能“钻”到目标字段。
Node.js 取 transcript
response.results.channels[0].alternatives[0].transcript
Python 取 transcript
response['results']['channels'][0]['alternatives'][0]['transcript']
这条链路特别值得你记住,因为它不仅适用于“转写文本”。同样的方式可以取:
confidence:做质量阈值(例如低于 0.85 就进入人工复核)words:生成字幕、做敏感词定位(精确到时间点)utterances:按句/段落切分,便于摘要和内容结构化
一句很实用的话:你不是在“读 JSON”,你是在沿着 key + index 的路径取值。路径对了,工作流就通了。
把 JSON 变成“可执行工作流”:小团队最常用的 3 种落地方式
直接给你三种在中小企业里最常见、也最容易出效果的自动化方式。它们都围绕一个核心:把 JSON 字段映射到业务动作。
1) 语音转写 → 内容生产:摘要、标题、标签、脚本
在《人工智能在媒体与内容产业》里,语音是内容原料。你拿到 transcript 后可以立刻做:
- 自动生成 访谈摘要(用于公众号/播客简介/视频简介)
- 从转写里抽取 标题候选 与 话题标签(用于内容推荐与 SEO)
- 按
utterances做结构化:主持人问答、观点列表、可引用金句
落地建议(我见过最稳的做法):
transcript进入 LLM 做摘要与标签- 同时保留
metadata.request_id写入内容库,便于追溯 - 如果
confidence < 0.85,自动打上“需复核”的审核状态
2) 语音助手 → 客服/销售自动化:工单、CRM、跟进提醒
语音助手真正值钱的地方是“执行”。一个典型链路是:
transcript(客户诉求) → 意图识别(退货/投诉/咨询)- 从 transcript 抽取实体:订单号、手机号、产品名
- 生成工单 JSON:
{type, priority, summary, customer_id} - 写入工单系统 / CRM,并创建跟进任务
这里 JSON 的作用是“对齐字段”。你的自动化平台(例如工作流编排工具)需要明确:
- 哪个字段是客户 ID
- 哪个字段是摘要
- 哪个字段决定优先级
字段对不齐,自动化就会变成自动制造混乱。
3) 逐词时间戳 → 内容审核与合规:定位敏感片段
很多团队只取 transcript,忽略了 words。但在审核上,words 才是硬通货:它能把敏感词定位到具体时间段。
一个高效的审核工作流可以是:
- 在
words里扫描敏感词 - 命中后记录片段:
start/end时间 - 自动生成审核任务:带上“跳转到 xx:xx 的片段”
这会把审核效率从“听全段录音”变成“只听命中片段”,对内容生产团队尤其省时间。
常见坑:JSON 看懂了,工作流还是会翻车的原因
直接列我最常见到的 5 个坑,你可以对照排查:
- 把 JSON 当对象而不是字符串:在传输中 JSON 常以字符串存在,需要
parse/loads - 数组索引写错:不少 API 的
channels/alternatives可能不止一个,别永远写死[0] - 字段可能为空:
utterances有时不存在,或者alternatives为空,要做容错 - 日期格式不统一:统一成 ISO 8601,系统间最少扯皮
- 编码与转义:媒体内容里常有引号、特殊符号、表情;存储与下游展示要验证
我自己的习惯是:在工作流里先加一个“结构断言”(比如检查 results.channels.length > 0),不满足就走异常分支并记录原始响应。省掉 80% 的排障时间。
你该怎么开始:一个最小可用的 JSON 学习路线(面向自动化)
如果你的目标是“把 AI 语音助手接进自动化工作流”,不需要把 JSON 学成语言课。按这个顺序就够用:
- 会读结构:对象
{}vs 数组[],知道索引从 0 开始 - 会找路径:从根开始一路点到目标字段(key + index)
- 会做映射:把
transcript/confidence/created映射到工单/内容库字段 - 会做容错:字段不存在、数组为空、类型不对时的 fallback
- 会保留审计信息:至少保存
request_id、时间、模型信息(对内容合规与业务追踪很重要)
把这五步做扎实,你的语音自动化会稳定很多,也更容易扩展到内容推荐、用户画像、审核与智能创作的完整链路。
你现在就能做的下一步
如果你手头已经有语音转写 API 的响应 JSON,先别急着加更多功能。先做一件小事:把 transcript、confidence、created 三个字段稳定提取出来,并写进你们的内容库/工单系统。这就是最小可用的“语音 → 数据 → 自动化”。
当这条链路跑顺了,你会发现后面的升级几乎都是顺推:加 words 做字幕与审核;加 utterances 做段落结构;加实体抽取做用户画像;加标签与主题做内容推荐。
你更想把语音数据用在内容生产(摘要、脚本、标签),还是用在运营与客服(工单、CRM、提醒)?选一个方向,把 JSON 路径先跑通,效果会来得比你想的快。