公司有对接网络设备的需要 ,由于协议是自己定的。所以对象在序列化时也需要自己序列化。很麻烦,在网上搜索了一圈。
找到了一个框架,可以通过注解来申明序列化过程。用起来还是很简单的,但是使用过程中发现以下坑:
- 当序列化为字节时,`dynamicSizeOf`引用为0, 但是实际数组有3个数据项,并没有序列化出数据。原因是两个数据必须保持一致。也就是有3个数据则synamicSizeOf引用的值需要为3
- string序列化时,默认为utf8,不支持全局配置。每个都要配置一遍,感觉不太方便。
- 暂时不支持自定义序列化,所以遇到一些系统内置类时,序列化还需要手动进行
以上为我使用的时候暂时遇到的问题,记录下来避免继续踩坑。
另外附上工具地址:
magic-byte: 一种简单的方式将java对象转为字节数据,用于快速高效的自定义序列化/反序列化场景,类似C的Strcut结构体,多用于私有通讯协议实现。 (gitee.com)
标签:需要,magic,自定义,对象,byte,序列化 From: https://www.cnblogs.com/raychang/p/17217987.html