无法从打字稿中的 json 对象获取数组响应
Posted
技术标签:
【中文标题】无法从打字稿中的 json 对象获取数组响应【英文标题】:Unable to fetch array response from json object in typescript 【发布时间】:2018-08-31 19:38:00 【问题描述】:我目前正在使用 api-ai-javascript 处理 Google 的对话流程。我正在接收来自服务器的 json 格式的响应,并尝试访问其中的“res.result.fulfillment.messages[0]”字段。但每次我“ng serve”时,它都会显示以下错误:“错误 TS2339:类型'语音:字符串;'上不存在属性'消息'”。我试图在控制台中显示整个响应,它显示“消息”字段。有人可以帮忙here's screenshot of my console log
【问题讨论】:
res.result.fulfillment.messages[0].speech 使用上述语句访问单个元素。 没有用。再次显示相同的错误:( 在这里snippi.com发布您的响应json 抱歉延迟回复。在这里,这是回复:snippi.com/s/v83e1r7 【参考方案1】:似乎对象只有属性语音。您应该尝试针对消息发表言论。
像这样:response.speech 或 console.log(response) 来查看所有对象。
【讨论】:
感谢 Jose,但我已经包含了 console.log(response) 的图片链接 好的,我在您的回复中只看到两个属性。类型和语音。看起来语音是你的字符串没有?【参考方案2】:我找到了解决方案。就我而言,这与 api-ai-javascript 有关。在 'interfaces.ts' 中,IserverResponse 接口在 'fulfillment' 标签中只有 'speech'。添加“消息?:任何[];”到它,解决了问题。
【讨论】:
以上是关于无法从打字稿中的 json 对象获取数组响应的主要内容,如果未能解决你的问题,请参考以下文章