关于序列化和反序列化问题求救
现在JAVA提供了一个接口,返回值是hashtable序列化的sbyte[],在C#中我怎么将他反序列化?我想知道怎么把 sbyte[] 转化为 stream, 然后将stream 反序列化,再将对象强制转换为hashtable?
------解决方案--------------------二进制序列化该只能用于平台内部,不能够跨平台使用
异构平台通信可以使用soap,或更轻量级的xml
------解决方案--------------------sbyte?[] sbyteArr = getcbosarr.getCodSwitchByteArrayMessage( "CBOS_51 ", "VIEW_SWITCH_CNT_SIZE ");
我调试到 sbyteArr 有数据过来了,就是不知道怎么转换了。
-----------------------------
java code?
使用.net开发
1.将sbyte[]转为java对象
2.将得到的java对象soap序列化
3..net app获得soap序列化文本
4.soap序列化文本转为.net对象
5.运行你的业务逻辑
使用java开发
1.将sbyte[]转为java对象
2.运行你的业务逻辑
------解决方案--------------------stream IO.MemeryStream= new IO.MemeryStream(byte[]); '接收到的byte数组
BinaryFormater format= new BinaryFormater();
Hashtable hash=(Hashtable)format.Deserialize(ms);
------解决方案--------------------Java的hashtable 序列化和C#里的不太一样的吧,最好还是按标准来用xml
------解决方案--------------------IO.MemeryStream stream = new IO.MemeryStream(byte[]); 写反了