java - 如何使用 Java 中的 Base64 对未实现 Serializable 接口的对象进行编码?
问题描述
我在一个组织工作,我们希望将对象转换为字符串表示,然后使用Base64对其进行编码。Java中的编码器。但问题是,我们从其他系统接收的对象没有实现 Serializable 接口。
如果它没有实现 Serializable 接口,那么无论对象的类型如何,我们如何将对象转换为字符串表示形式?
解决方案
你必须'手动'。
如果要序列化的对象是一个简单的 java bean(简单的成员、getter、setter),我会使用 JSON 序列化程序。
如果它更复杂,您必须自己实现一个序列化/反序列化方法。
JSON的序列化格式已经是文本形式了,所以不需要转换成Base64。Base64 旨在用于将二进制内容转换为可读/可传输的字符串表示形式。
杰克逊的简单例子:
JarEntry obj = new JarEntry("Hello World");
ObjectMapper objectMapper = new ObjectMapper();
String json = objectMapper.writeValueAsString(obj);
System.out.println(json);
推荐阅读
- ios - 修改 UNNotificationService 扩展中推送通知有效负载中的“声音”属性
- reactjs - 如何混合 Union 和 Intersection 类型的流注解?
- ios - 如何在环的中心点周围绘制圆形按钮?
- django - 如何从 DRF 中的表单为 Integerfield 发送 null
- javascript - 如何在ajax调用时将输入文本字段值保留到一些内存中
- c - C 语言 4 位可能的变化,但有例外
- xml - 努力使用 cxf 生成基于 wsdl 文件的 SOAP-Service
- kubernetes - 代理可能不可用错误 Kafka 模式注册表
- c# - 禁用 DataGridView RowHeader 和 ColumnHeader 被选中并单击
- c++ - 如何为一个窗口分配内存,然后在关闭时清除它?