首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用node-fetch解析响应消息

无法使用node-fetch解析响应消息
EN

Stack Overflow用户
提问于 2021-03-04 06:48:04
回答 1查看 121关注 0票数 0

我的目标是读取响应中返回的消息。我使用node-fetch,响应是gzipped格式的。这就是我到目前为止所知道的:

代码语言:javascript
复制
  const response = await fetch(config.url, {
            method: 'POST',
            body: request,
            headers: {'Content-Type': 'application/json; charset=UTF-8', 'x-tn-api_key':config.key, 'x-tn-api_signature':generateAPISignature()}
          })

    let deserializedResponse = await response.json()

这是deserializedResponse的样子:

代码语言:javascript
复制
{
  "timestamp": "2021-03-03T22:34:37.362+0000",
  "status": 400,
  "error": "Bad Request",
  "message": "JSON parse error: Cannot deserialize instance of `xyz` out of START_ARRAY token; nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `xyz` out of START_ARRAY token\n at [Source: (PushbackInputStream); line: 1, column: 1]",
  "path": "/a/v1/events"
}

消息字段有json解析错误,如何读取消息字段?基本上,如果调用失败,我希望记录消息以用于调试目的。

更新:我将请求对象硬编码为某个静态对象,但仍然得到相同的错误。当我复制粘贴相同的静态对象到Postman中时,它工作得很好。有人知道为什么body:request被读取为请求数组吗?这似乎就是错误的原因,因为它需要的是请求中的对象,而不是对象数组

EN

回答 1

Stack Overflow用户

发布于 2021-03-04 09:29:04

替换

代码语言:javascript
复制
    body: request,

使用

代码语言:javascript
复制
body: JSON.stringify(request),

似乎解决了这个问题

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66466103

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档