【Best Practice】在JAVA里面反序列化.NET的对象。
场景:java提供一个restful webserice, .NET调用方以二进制流传送 序列化的对象。
问题:JAVA端如何反序列化该对象。
解决方案:1,改用json或者xml,但性能不如binary。
2,继续用binary,但双方约定格式。
比如.NET对象是 Class Person
{
public string name;
public string address;
}
那么传送给java的byte[] 包含每个属性的字节数。假设一个人姓名叫"季千万",地址叫“高档别墅”。byte[0]存放6,表示姓名长度是6,然后byte[1]-byte[6]存放姓名。byte[7]存放8,表示接下来8个字节是地址。这样java端就一一反序列化成功。