POJO 到字节数组与 POJO 到 json
POJOs to byte array vs POJOs to json
我是 Java 的新手。我只是对序列化和反序列化感到困惑。
所以,我很困惑我应该使用哪一个。
我正在寻找一个回合,发现 Boon、Jackson、GSON(我目前正在使用 GSON,但一些文章使用 Jackson 和 Boon)用于 JSON 序列化。并将对象序列化为字节数组或二进制对象。
只是,哪个更快,我应该选择哪个?
我正在为我的简单应用程序做这个,保存当前状态、文档和其他一些东西。
提前致谢:)
序列化数据意味着将它们转换为字节序列。
此序列可以解释为可读字符序列,如 json、xml、yaml 等。
同一个序列也可以是人类不可读的二进制数据序列。
每种序列化方法各有利弊。
人类可读性的优点:
- 许多现有的库序列化反序列化数据
- 数据方便调试
- 许多现有的库和 API 使用此解决方案
缺点:
- 需要很多字节
- 序列化和反序列化过程可能很困难并且很耗时
二进制数据的优缺点:
亲:
- 更快的序列化反序列化过程
- 通过网络传输的数据更少
缺点:
- 难以读取通过网络传递的数据
- 同一数据不仅有一种表示形式(例如是否为 BigEndian)
我是 Java 的新手。我只是对序列化和反序列化感到困惑。
所以,我很困惑我应该使用哪一个。
我正在寻找一个回合,发现 Boon、Jackson、GSON(我目前正在使用 GSON,但一些文章使用 Jackson 和 Boon)用于 JSON 序列化。并将对象序列化为字节数组或二进制对象。
只是,哪个更快,我应该选择哪个?
我正在为我的简单应用程序做这个,保存当前状态、文档和其他一些东西。
提前致谢:)
序列化数据意味着将它们转换为字节序列。
此序列可以解释为可读字符序列,如 json、xml、yaml 等。
同一个序列也可以是人类不可读的二进制数据序列。
每种序列化方法各有利弊。
人类可读性的优点:
- 许多现有的库序列化反序列化数据
- 数据方便调试
- 许多现有的库和 API 使用此解决方案
缺点:
- 需要很多字节
- 序列化和反序列化过程可能很困难并且很耗时
二进制数据的优缺点:
亲:
- 更快的序列化反序列化过程
- 通过网络传输的数据更少
缺点:
- 难以读取通过网络传递的数据
- 同一数据不仅有一种表示形式(例如是否为 BigEndian)