You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何提取Amazon Polly返回visemes文本文件的time和value值并解决JSON.parse报错

问题解决:Amazon Polly visemes返回数据解析报错

错误原因

  1. Amazon Polly返回的visemes结果为JSON Lines格式:每行是一个独立JSON对象,整体未被数组方括号包裹、行之间无逗号分隔,直接调用JSON.parse()解析整段文本必然触发语法错误
  2. 你未做解析就直接对字符串类型的返回值out按下标取属性out[i]['@value'],out[i]取到的是字符串的第i个字符,自然会报undefined、输出单个引号

修复代码

fetch(url)
.then(res => res.text())
.then((out) => {
  // 按换行拆分返回内容,过滤空行
  const lineList = out.trim().split(/\n/).filter(line => !!line.trim())
  // 逐行解析为JSON对象
  const visemeData = lineList.map(line => JSON.parse(line.trim()))
  // 遍历提取所需字段
  visemeData.forEach((item, idx) => {
    console.log(`索引${idx}:time=${item.time},value=${item.value}`)
  })
})
.catch(error => console.error('处理失败:', error))

附加说明

  • 若返回内容开头存在非JSON格式的头标识,可先跳过对应行数再做解析
  • 从你提供的截图可见返回字段为time和value,无需额外加@前缀

相关截图

文本文件内容
未使用JSON.parse时的输出结果


内容的提问来源于stack exchange,提问作者Chris Young

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 13:48:02