我尝试解析来自其他服务器的POST请求,并且出于某种原因我将其作为JSON密钥获取。
以下是代码片段:
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
...
app.use(bodyParser.urlencoded({extended: false}));
app.use(bodyParser.json());
app.post('/sync/:method', onPostRequest);
var onPostRequest = function(req,res){
console.log(req.body);
console.log(req.params);
}
服务器向我发送JSON数据:
{
"sync": [
{
"provider_email": "myemail@gmail.com",
"provider_name": "google",
"provider_hostname": "none"
}
]
}
但Node JS将其视为:
{
'{"sync":[{"provider_email":"myemail@gmail.com","provider_name":"google","provider_hostname":"none"}]}':
'' }
当您看到{key: value}
= value
和''
所在的key
对象时:
' [{" provider_email":" myemail@gmail.com"," PROVIDER_NAME":"谷歌"" provider_hostname":"无"}]}'
我做错了什么?
我尝试设置app.use(bodyParser.urlencoded({extended: true}));
并获得:
{ '{"sync":': { '{"provider_email":"myemail@gmail.com","provider_name":"google","provider_hostname":"none"}': '' } }
也许nodejs在我的字符串上执行“json_encode”,它已经是json编码的
有什么想法吗?