Curl Post或Node / Express服务器将双引号转换为单引号

时间:2017-03-31 16:44:15

标签: json node.js express curl

我正在发送curl的POST请求,如下所示:

curl -H 'Content-Type:application/json" -X POST -d '{"key":"value"}' http://localhost:3000/parsejson

但是,我正在使用我的Node / Express服务器:

{'key':'value'} // req.body

所以我不清楚它是卷曲请求还是我的节点服务器的配置。在我的节点服务器上,我正在使用:bodyParser.json()和bodyParser.urlencoded()

谢谢!

1 个答案:

答案 0 :(得分:0)

首先,这一行不正确,你不能用它运行curl:

curl -H 'Content-Type:application/json" -X POST -d '{"key":"value"}' http://localhost:3000/parsejson

我之所以提到它是因为这是一个关于单引号和双引号的问题,并且在你的如何发出请求的例子中有单引号和双引号,导致代码无法执行。由于这显然不是你真正提出要求的方式,因此不清楚你是怎么做的。

现在,如果您想查看请求中的真实内容,那么不要使用正文解析器(暂时将其关闭,删除或注释掉)并运行{{1在服务器上显示请求正文。然后你就会知道你从客户那里得到了什么。

还使用req.pipe(process.stdout)选项运行curl以查看它实际发送的内容。

如果事实证明curl正在发送正确的JSON并且您的服务器在请求正文中获得了正确的JSON,那么您的问题必须在其他地方,而不是您在此问题中询问的主题。

当然,在这种情况下,你无法告诉你问题是什么,因为你的问题中甚至没有包含一行代码。