我有一個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
提交
取消