【发布时间】:2022-01-08 17:09:35
【问题描述】:
我正在使用 mockoon 进行 API 模拟。我用方法 GET 在那里创建了 2 条路由,它的主体包含(响应)JSON 对象。我注意到我的快速应用程序无法解析其中一条路线。但是在正文中包含 ARRAY 的 JSON 对象的路由正在被解析。我使用 Express(通过 console.log)和 chrome 浏览器(我有 JSON 格式化程序扩展名)测试了两条路由,它的行为具有相同的含义,不包含 ARRAY 的响应没有被解析,但带有数组的响应正在被解析(表现一般)。让我展示截图:
快递(通过 console.log):
带数组:
无数组:
Chrome(JSON 格式化程序扩展):
带数组(扩展可以解析):
没有数组(扩展无法解析):
我尝试将 Header(Content-Type: application/json) 添加到 mockoon 中的路由。但是,我仍然不知道这里发生了什么。有人请解释一下
快递代码:
const iabs_client = await axios.get(
"http://localhost:3001/iabs-client
);
这是在 Mockoon 中创建的路由(JSON 中没有数组):
P.S mockoon 是一个在 localhost 中创建端点的程序,用于在没有后端的情况下开发前端时的 API 模拟
【问题讨论】:
-
不确定发生了什么,但看起来一个是 JavaScript 对象,另一个是 JSON。你能展示产生这个输出的代码吗?
-
如果没有看到相关代码,我认为我们无能为力。如果 express 在预期数据类型时没有将其解析为 JSON,并且其他 JSON 被解析得很好,那么显然这个特定请求有问题导致 Express 不将其视为 JSON。
-
@kevintechie 我正在用 axios 做简单的获取请求,没什么特别的。我也在使用 express.json 中间件。我将代码添加到问题中
-
@jfriend00 我通过添加快速代码来编辑问题。但老实说,我认为这个问题可能与 Mockoon 有关