我有一个C#中的兔子MQ数据服务,并“fout”了一些消息。子参数/客户端在 Java 中。我可以接收消息,我知道如何在C#中反序列化,但我不知道如何将消息反序列化为对象。在爪哇语中。C# 序列化:byte[] message;BinaryFormatter bf = new BinaryFormatter();using (var ms = new MemoryStream()){ bf.Serialize(ms, updateMessage); message = ms.ToArray();}C# 反序列化:MyObject message = null;using (var memStream = new MemoryStream()){ var binForm = new BinaryFormatter(); memStream.Write(body, 0, body.Length); memStream.Seek(0, SeekOrigin.Begin); message = (MyObject)binForm.Deserialize(memStream);}爪哇接收器:@RabbitListener(queues = queueName)public void receive(??? message ) { // deserailize message right here // btw, I do not know what type of received message should be initialized.}
1 回答
慕莱坞森
TA贡献1810条经验 获得超4个赞
反序列化 Java 中随 序列化的对象。NET的二进制序列化器构建不可能没有很大的困难(您必须自己实现反序列化器)。
最简单的选择是使用基于文本的序列化选项,例如 JSON 和 XML。有很多关于如何在C#和Java中执行此操作的教程。
如果您需要使用二进制格式,则需要查看一些选项,这些选项将是Google的协议缓冲区或apache节俭。
添加回答
举报
0/150
提交
取消