在Express中,我有一个router.post
端点,它应该接受具有特定结构的对象。它接受的对象如下所示:
[
{
"tableName": "patients",
"tableColumns": [
"id",
"fName",
"lName",
"email"
]
},
{
"tableName": "providers",
"tableColumns": [
"id",
"fName",
"lName"
]
}
]
我不打算向它提供与此不同的任何数据结构,但我可能从我无法控制的来源接收数据。解析此对象时没有任何错误,但是当我在其中一个数组的末尾添加逗号时......
[
{
"tableName": "patients",
"tableColumns": [
"id",
"fName",
"lName",
"email", //<<<<<<<<<
]
},
{
"tableName": "providers",
"tableColumns": [
"id",
"fName",
"lName"
]
}
]
...请求超时。它只是停止了。没有错误被抛出,它只是不起作用。为什么呢?
答案 0 :(得分:0)
事实证明,您不应该在正文解析器中使用无效的JSON(请参阅this answer),至少不能使用默认设置。 body-parser使用connect来解析JSON。默认情况下,connect在strict mode中运行,只允许解析格式正确的JSON。