【问题标题】:Unable to fetch array response from json object in typescript无法从打字稿中的 json 对象获取数组响应
【发布时间】: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

标签: json typescript angular5


【解决方案1】:

似乎对象只有属性语音。您应该尝试针对消息发表言论。

像这样:response.speech 或 console.log(response) 来查看所有对象。

【讨论】:

  • 感谢 Jose,但我已经包含了 console.log(response) 的图片链接
  • 好的,我在您的回复中只看到两个属性。类型和语音。看起来语音是你的字符串没有?
【解决方案2】:

我找到了解决方案。就我而言,这与 api-ai-javascript 有关。在 'interfaces.ts' 中,IserverResponse 接口在 'fulfillment' 标签中只有 'speech'。添加“消息?:任何[];”到它,解决了问题。

【讨论】:

    猜你喜欢
    • 2016-06-25
    • 1970-01-01
    • 2018-12-12
    • 2020-10-05
    • 1970-01-01
    • 2021-11-02
    • 2018-07-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多