在Node.js中从C#工具反序列化一个字节

我inheritance了一个C#工具,它将会议数据的序列化字节数组发送到联机日历应用程序。 在线日历使用node.js API。 我的问题是,序列化的字节数组没有得到由node.js(IE,表示req.body对象为空)correclty。 我正在寻找一种发送数据的方式,以便Node.js可以parsing数据,或者Node.js中可以处理c#字节数组的parsing器。 它是JSON格式。 这是发送请求的代码:

string json = JsonConvert.SerializeObject(reallyPost, Formatting.None); byte[] postThisz = Encoding.ASCII.GetBytes(json); byte[] response = wc.UploadData(siteUrl, postThisz); 

目前我只是试图logging数据。 路线在这里被捕获:

 app.post('/remotePost', api.remotePost); 

它使用这个控制器:

 module.exports.remotePost = function (req, res) { console.log(req); console.log(req.body); sendJsonResponse(res, 200, "remote posted."); }; 

req.body被我的parsing中间件填充:

 app.use(bodyParser.json()); 

但是,这不能处理由C#程序发送的字节数组。 我可以通过find一个能正确处理C#POST的parsing器来解决这个问题,或者find一个可以创build一个包含JSON.stringify()返回格式的东西的C#模块。

build议将编码更改为utf8

  Encoding.UTF8.GetBytes(json); 

然后,您还应该在上传之前设置适当的标题

  wc.Headers.Add("Content-Type", "application/json; charset=utf8");