0
也许这很简单,也许这是Parse上的一个错误 - 想知道是否有人有同样的问题和可能的解决方案。在使用app.use(parseExpressRawBody())时出现奇怪
我想要做的事:
- 我送的叫FormEntry我的解析应用
- 应用程序JSON请求机身自带的是这样的:JSON = {“someLabel” :“someValue”}
- 我想采取整个身体并创建一个Parse.Cloud.httpRequest到Zapier执行一些功能。
现在,这个问题似乎是这样的:
随机的场合(即我不知道为什么),身体被发送(如图中的日志),那里是一个结尾处的逗号JSON对象中最后一对的结尾。例如像这样json = {“lastLabel”:“lastValue”,} “普通”和“不正确”对象中元素的数量似乎是相同的,所以它只是添加了另一个逗号。我不知道为什么。
我的设置:
- 使用app.use(parseExpressRawBody());而不是标准app.use(express.bodyParser());这不提供访问原始的身体。
- 由于parseExpressRawBody将主体转换为缓冲区,我需要将其重新转换为字符串,以便以有意义的方式在HTTP请求中发送它。因此我使用:var body = req.body.toString();
- 将此var记录到Parse控制台时,它看起来是从缓冲区罚款格式化的。
就是这样。这里没有什么复杂的,但一个真正烦人的错误,我只是没有找到一个明智的理解方式。 SUPER会赞赏以前见过这个的人,或者能指出我注意力的方向。
您可以详细说明一下“称为FormEntry的应用程序”吗?如果它真的发送格式错误的JSON,那么这不是你的错。 – Bergi 2014-10-08 23:55:14
感谢您的评论@Bergi该应用程序实际上被称为FormEntry,谷歌它,你会看到。我想我假设它发送的是一致的JSON,但我也将它与它们一起提出来,看看它们是否知道任何事情。我认为这可能与parseExpressRawBody有关 – 2014-10-09 08:16:45