gpt4 book ai didi

c# - 从 Node.js 中的 C# 工具反序列化 byte[]

转载 作者:太空宇宙 更新时间:2023-11-03 23:32:44 25 4
gpt4 key购买 nike

我继承了一个 C# 工具,该工具将 session 数据的序列化字节数组发送到在线日历应用程序。在线日历使用node.js API。我的问题是序列化的字节数组没有被node.js正确解析(IE,在express中req.body对象是空的)。我正在寻找一种发送数据的方法,以便它可以由 Node.js 解析,或者 Node.js 中可以处理 c# 字节数组的解析器。它是 JSON 格式的。这是发送请求的代码:

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

目前我只是想记录数据。路线在这里捕获:

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

使用此 Controller :

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

req.body 由我的解析中间件填充:

app.use(bodyParser.json());

但是这无法处理 C# 程序发送的字节数组。我可以通过找到一个能够正确处理 C# POST(byte[] 类型)的解析器,或者找到一个可以生成包含 JSON.stringify() 返回格式的内容的 C# 模块来解决此问题。

最佳答案

建议将编码改为utf8

 Encoding.UTF8.GetBytes(json);

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

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

关于c# - 从 Node.js 中的 C# 工具反序列化 byte[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36338375/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com