[UnparseableJsonResponse for a specific,valid JSON

问题描述 投票:1回答:1

我有一个标准Dialogflow代理,使用javascript / node.js webhooks。在大多数情况下,它运行良好。我最近遇到了一个让我完全不知所措的问题。我目前正在conv.data中保存一些JSON对象,以最小化Webhook必须进行的外部API调用。对于一个使用node-fetch从外部API获取的特定JSON对象,我从我这边发送的响应看起来非常普通。我使用firebase,并且firebase日志不显示任何错误消息或任何可能存在问题的迹象。但是我在Google Actions控制台中收到此错误:

[UnparseableJsonResponse API版本2:无法解析带有'INVALID_ARGUMENT'错误的JSON响应字符串:“解析在输入结束前终止。8,\\” 3 \\“:12},\\” w ^“。

并且在stackdriver日志中,收到的响应不是以通常的开头

收到来自主体的代理的响应:HTTP / 1.1 200 OK服务器:...等等

相反,它从外部API-JSON文件的中间开始

收到来自主体的代理的响应:8,\\“ 3 \\”:12},\\“ winPercentage \\”:1392}}}},...等

[从外部API提取JSON后,代理第一次响应时不会发生这种情况。代理在获取JSON之后第二次响应时,无论该第二次调用是否使用了JSON信息,如果在第一次调用与第二次调用之间覆盖了JSON文件,则无论什么都except,一切都会崩溃。如果文件被覆盖,程序将正常运行。因此,问题很可能是存储和/或解析此特定JSON文件的一部分。不幸的是,我在此应用程序中使用的API并不是公开的,由于NDA,我无法对该JSON进行任何访问,因此我知道您可能无法帮助我。但是,我将尽可能提供有关JSON的信息,并希望做到最好:

  • 根据https://codebeautify.org/jsonvalidator和jsonlint.com有效。>
  • 它的结构与来自相同API的其他JSON文件完全相同,不会导致应用程序崩溃
  • [比同一个API中的其他JSON文件大一点。它大约有340 000个字符,其他大约是280-300 000。
  • [所有JSON,以及适用的JSON都来自瑞典公司,因此可能会出现å,ä和ö等不寻常的字符。
  • 错误消息总是相同的,除了响应的开始在JSON文件中的不同位置。 “ 8,\\” 3 \\“:12},...”,“ ostPosition \\”:2 ...“,” 3804,\\“ startPoints \\”:2960 ...“是一些示例。
  • 我非常感谢我可能会收到的所有帮助,即使这只是我需要提出的问题,或者接下来我可能在哪里尝试进行故障排除。

我有一个标准Dialogflow代理,使用javascript / node.js webhooks。在大多数情况下,它运行良好。我最近遇到了一个让我完全不知所措的问题。我目前是...

javascript json dialogflow actions-on-google
1个回答
1
投票

[我怀疑问题是您要保存的JSON大于它们为conv.data分配的缓冲区大小,尽管我找不到任何文档说明存在某些特定限制。

© www.soinside.com 2019 - 2024. All rights reserved.