【发布时间】:2021-07-31 07:19:52
【问题描述】:
所以我在 Postman 上尝试了一个非常简单的查询,如下所示:
邮递员的 JSON 输入
{
"id" : ["M","N"]
}
我想从 Cosmos DB 服务器取回多个 id,所以我使用了一个包含多个 id 的数组。
现在这是我从用户那里获取数据的 API 的开始:
let c_id: any = req.body.id;
console.log(c_id)
console.log(typeof(c_id))
//let c_id1 = JSON.parse(c_id)
//console.log(c_id1)
//console.log(typeof(c_id1))
现在我希望从 Postman 中返回的是数组,但我不断返回一个对象。
更让我困惑的是console.log(c_id) 语句将其打印为对象
console.log 输出
[ 'M', 'N' ] //console.log(c_id) output
object //console.log(typeof(c_id)) output
我不明白这里到底发生了什么。如何将数据作为数组取回?
复制问题的步骤:
- 只需在 Postman 上使用键值对创建一个 POST 请求,其中数组是值
- 在您的 API 中创建一个 id 请求并在控制台记录输出
我尝试过的:
- 因为它返回了一个对象,所以我尝试解析它,但返回一个错误。
JSON 中位置 0 的意外标记 MSyntaxError:JSON 中位置 0 的意外标记 M
- 我尝试使用 just as 数组,但没有得到预期的输出。
【问题讨论】:
-
JavaScript 中没有“数组”类型。当您执行
typeof([])时,您会得到"object"。 -
也就是说,您可能想
JSON.stringify()您的响应数据。很难说,因为你没有显示你的服务器端代码。
标签: javascript node.js arrays json azure-cosmosdb