首页 > 解决方案 > 如何使用 Java 中的 Base64 对未实现 Serializable 接口的对象进行编码?

问题描述

我在一个组织工作,我们希望将对象转换为字符串表示,然后使用Base64对其进行编码。Java中的编码器。但问题是,我们从其他系统接收的对象没有实现 Serializable 接口

如果它没有实现 Serializable 接口,那么无论对象的类型如何,我们如何将对象转换为字符串表示形式?

标签: javaserializationbase64

解决方案


你必须'手动'。

如果要序列化的对象是一个简单的 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);

推荐阅读