【发布时间】:2021-03-15 16:57:03
【问题描述】:
我的 API 需要在其响应中返回以下数据。
{ users: 'All users are as follows: [{id: 1}, {id: 2}]'}
它应该是一个json对象,其中一个键值是一个json数组。但是,json 数组变成了一个字符串,因为它需要附加到另一个字符串上。我的代码是这样的:
const array = [{id: 1}, {id:2}]
const string = 'All users are as follows: ' + JSON.stringify(array)
res.send({users: string})
我将 Express 用于我的 API。当我在邮递员中检查响应时,它会在字符串上添加许多反斜杠。但是,当我在本地执行 console.log({a: string}) 时,我看不到任何这些斜杠。 这是我看到的:
{users: "[{\"id\":1}, {\"id\":2}]"}
【问题讨论】:
-
您确定那些额外的反斜杠实际上在字符串中,而不仅仅是在您正在查看的字符串的表示中吗?例如,
console.log("\"".length)产生1,因为"\""正是您在 JavaScript 中表示由引号组成的字符串的方式。字符串本身没有反斜杠。 -
这实际上可能是真的。当我收到响应时,我在邮递员中看到这些 \ 但是当我使用完全相同的东西执行 console.log() 时,我看不到那些反斜杠。但是当我在 Postman 中看到响应时,有什么办法可以摆脱它们
-
我不知道..你可能想用“邮递员”标记这个问题,看看是否有人知道
-
好的,谢谢!我会这样做的
标签: json typescript api express postman