-
2021-03-04 03:19:32
小编典典
Java支持自定义序列化。阅读“自定义默认协议”部分。
去引用:
但是,有一个奇怪但狡猾的解决方案。通过使用序列化机制的内置功能,开发人员可以通过在类文件中提供两种方法来增强常规过程。这些方法是:
private void writeObject(ObjectOutputStream out) throws IOException;
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException;
在此方法中,如果需要,你可以将其序列化为其他形式,例如你说明的ArrayList或JSON或其他数据格式/方法,然后将其重新构造回readObject()
在你的示例中,添加以下代码:
private void writeObject(ObjectOutputStream oos)
throws IOException {
// default serialization
oos.defaultWriteObject();
// write the object
List loc = new ArrayList();
loc.add(location.x);
loc.add(location.y);
loc.add(location.z);
loc.add(location.uid);
oos.writeObject(loc);
}
private void readObject(ObjectInputStream ois)
throws ClassNotFoundException, IOException {
// default deserialization
ois.defaultReadObject();
List loc = (List)ois.readObject(); // Replace with real deserialization
location = new Location(loc.get(0), loc.get(1), loc.get(2), loc.get(3));
// ... more code
}
2020-03-19
更多相关内容 -
C#自定义序列化ISerializable的实现方法
2020-09-03 18:30:40主要介绍了C#自定义序列化ISerializable的实现方法,涉及C#序列化的操作技巧,非常具有实用价值,需要的朋友可以参考下 -
实例解析Json反序列化之ObjectMapper(自定义实现反序列化方法)
2020-10-19 04:58:45主要介绍了实例解析Json反序列化之ObjectMapper,json自定义序列化的方法,需要的朋友可以了解下。 -
pr中如何自定义序列尺寸
2020-12-03 16:03:11咱们如果把一个视频拖拽过来的话,他可能不符合淘宝主图的一个尺寸,所以就会出现这个对话,选择“保持现有设置” 4.他可能非常不符合,就需要点中他,右键->缩放为帧大小。,就变成了这样。然后你可以通过1.文件->新建->序列(快捷键ctrl+n)
,因为这个里面没有我们想要的尺寸,所以咱们得重新创建一个自己想要的尺寸。拿淘宝主图来说。800*800
2.
我画的红线是重点。然后接下来就可以保存预设
,点击确定
3.
,在咱们这个序列预设中就会出现淘宝主图,咱们就可以创建一个这样淘宝主图的序列
咱们如果把一个视频拖拽过来的话,他可能不符合淘宝主图的一个尺寸,所以就会出现这个对话,选择“保持现有设置”
4.
他可能非常不符合,就需要
点中他,右键->缩放为帧大小。
,就变成了这样。然后你可以通过调整它的缩放和位置让他进行显示即可
-
VBA判断出现自定义序列则输出结果.xlsm
2022-04-03 23:56:14VBA判断出现自定义序列则输出结果.xlsm -
自定义redisTemplate序列化配置
2022-04-09 22:27:09使用spring-boot-starter-data-redis来操作redis时,自定义RedisTemplate类使用spring-boot-starter-data-redis来操作redis时,自定义RedisTemplate类。
package com.hmdp.config; import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxml.jackson.annotation.PropertyAccessor; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.jsontype.impl.LaissezFaireSubTypeValidator; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.redis.connection.RedisConnectionFactory; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer; import org.springframework.data.redis.serializer.StringRedisSerializer; /** * www.cnblogs.com/frankcui/p/14660466.html 这篇文章介绍了springboot整合redis的信息。 * redisConfig类 * 1、自定义redisTemplate序列化配置 * * @author TH * @date 2022/1/6 */ @Configuration public class RedisConfig { /** * 自定义RedisTemplate方法序列化配置 * * @param redisConnectionFactory * @return */ @Bean(name = "redisTemplate") @SuppressWarnings("all") public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) { RedisTemplate<String, Object> template = new RedisTemplate<>(); template.setConnectionFactory(redisConnectionFactory); //自定义Jackson序列化配置 Jackson2JsonRedisSerializer jsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class); ObjectMapper objectMapper = new ObjectMapper(); objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); objectMapper.activateDefaultTyping(LaissezFaireSubTypeValidator.instance, ObjectMapper.DefaultTyping.NON_FINAL); jsonRedisSerializer.setObjectMapper(objectMapper); //key使用String的序列化方式 StringRedisSerializer stringRedisSerializer = new StringRedisSerializer(); template.setKeySerializer(stringRedisSerializer); //hash的key也是用String的序列化方式 template.setHashKeySerializer(stringRedisSerializer); //value的key使用jackson的序列化方式 template.setValueSerializer(jsonRedisSerializer); //hash的value也是用jackson的序列化方式 template.setHashValueSerializer(jsonRedisSerializer); //加上这个事物支持,反而会报错。这个问题搞了很久,都没找到原因。错误:java.lang.UnsupportedOperationException: null;如果有读者知道为什么,请一定要私信我,谢谢!!!! //网上都说要加这个才能让redis支持事物。我就很懵逼了,为什么我加了报错,不加反而可以用。这个问题困扰了很久也没找到原因 //template.setEnableTransactionSupport(true); template.afterPropertiesSet(); return template; } }
如果有需要的,Redis常用方法的工具类ResdisUtils:请点我…
-
django 解决自定义序列化返回处理数据为null的问题
2020-09-16 20:36:23主要介绍了django 解决自定义序列化返回处理数据为null的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 -
Rabbitmq自定义序列化方式
2021-11-24 09:35:49/** * rabbitmq自定义序列化,使用传说中的mapper */ @Configuration @Data public class RabbitMqConfig { @Bean public RabbitTemplate rabbitTemplate(ConnectionFactory connectionFactory) { RabbitTemplate ...话不多说,直接上图。
package com.home.config; import com.home.util.JsonUtil; import lombok.Data; import org.springframework.amqp.core.AcknowledgeMode; import org.springframework.amqp.rabbit.config.SimpleRabbitListenerContainerFactory; import org.springframework.amqp.rabbit.connection.ConnectionFactory; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; /** * rabbitmq自定义序列化,使用传说中的mapper */ @Configuration @Data public class RabbitMqConfig { @Bean public RabbitTemplate rabbitTemplate(ConnectionFactory connectionFactory) { RabbitTemplate rabbitTemplate = new RabbitTemplate(connectionFactory); Jackson2JsonMessageConverter jackson2JsonMessageConverter = new Jackson2JsonMessageConverter(JsonUtil.mapper); rabbitTemplate.setMessageConverter(jackson2JsonMessageConverter); return rabbitTemplate; } @Bean public SimpleRabbitListenerContainerFactory rabbitListenerContainerFactory(ConnectionFactory connectionFactory) { SimpleRabbitListenerContainerFactory factory = new SimpleRabbitListenerContainerFactory(); factory.setConnectionFactory(connectionFactory); Jackson2JsonMessageConverter jackson2JsonMessageConverter = new Jackson2JsonMessageConverter(JsonUtil.mapper); factory.setMessageConverter(jackson2JsonMessageConverter); factory.setAcknowledgeMode(AcknowledgeMode.MANUAL); return factory; } }
传说中那个工具类:JsonUtil
-
Jackson 自定义序列化和反序列化
2021-09-24 15:09:38自定义字符串序列化类,md5脱敏 package com.example.fisher.gradledemo.sysuser.entity; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.databind.JsonSerializ -
Python 自定义序列类
2022-03-13 18:12:45Python 自定义序列类 -
关于JSON自定义序列化方法
2021-12-01 17:36:01调用json.dumps()方法时,偶尔会出现类似TypeError: Object of type int64 is not JSON serializable的错误,这是由于json无法对结果进行序列化导致的,可以通过自定义序列化方法解决问题; 1.首先,继承json.... -
jackson–自定义序列化器
2021-04-03 16:08:39如何使用自定义序列化器,使用Jackson 2序列化Java实体。 2.对象的标准序列化 定义2个简单实体,看看Jackson如何在没有任何自定义逻辑的情况下序列化这些实体: @Data @AllArgsConstructor @NoArgsConstructor ... -
FlinkCDC-自定义序列化器
2021-12-15 07:39:59package com.lcy.app.customer; import com.alibaba.fastjson.JSONObject; ... import io.debezium.data.Envelope; import org.apache.flink.api.common.typeinfo.BasicTypeInfo;...import org.apache.f -
VBA出现自定义序列则输出结果.xlsm
2022-01-18 10:52:56VBA判断出现自定义序列则输出结果,如连续出现4,2,3, 这三个字,则这三个单元格标注自定义信息 -
hbasesink 自定义序列化类
2017-09-14 14:50:30hbasesink 自定义序列化类 ,可实现自定义rowkey及去除字段两边索引,具体请看下代码。 hbasesink 自定义序列化类 ,可实现自定义rowkey及去除字段两边索引,具体请看下代码。 -
Qt自定义结构序列化
2021-01-18 23:02:17Qt自定义结构序列化与反序列化,对应文章:https://lizhifun.blog.csdn.net/article/details/112796140 -
【springboot进阶】springboot集成fastjson(二)自定义序列化/反序列化
2022-06-15 21:50:00介绍fastjson2如何使用自定义序列化和反序列化,配合日常接触的场景举例代码中如何实现,如日期型转化为毫秒数、单位元转分等。 -
Java自定义序列化&反序列化
2020-10-26 15:50:18自定义序列化的应用 场景1. 序列化时不包含某个字段,如密码,但反序列化时却需要该字段。此时不能使用transient修饰字段,因其序列化/反序列化时都会排除其修饰的属性。 场景2. 其他特殊场景 使用方式 自定义... -
【Django】DRF自定义序列化器、序列化与反序列化
2020-09-20 21:39:07而DRF(Django REST Framework)就可以帮忙我解决这个问题,即序列化和反序列化 1.安装DRF 使用pip安装 pip install djangorestframework 配置应用 INSTALLED_APPS = [ ... 'rest_framework', ] 2.定义... -
【kafka专栏】生产者客户端自定义序列化器
2022-07-01 16:33:19kafka生产者的数据生产流程中,有三个环节是我们可以自定义的,如下图所示。本文为大家介绍如何自定义kafka生产者序列化器。 -
Redisson自定义序列化方式
2021-11-22 18:01:25自定义序列化方式 import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBufInputStream; import io.netty.buffer.Unpooled; import org.apache.commons.lang3.SerializationUtils; imp.. -
excel填充序列_个性化自己的EXCEL设置1—如何自定义填充序列
2020-11-18 11:02:04在EXCEL中,默认存储着一些常用列表,当我们输入第一行时,只要通过填充下拉的方式,就可以自动得到一列或一行列表。EXCEL自带填充列表除了默认的常用列表,可否自定义列表...编辑自定义窗口在弹出的"自定义序列窗口... -
PHP自定义序列化接口Serializable用法分析
2020-10-18 20:32:26主要介绍了PHP自定义序列化接口Serializable用法,结合实例形式分析了Serializable自定义序列化接口的概念、功能、定义及使用方法,需要的朋友可以参考下 -
python魔法方法-自定义序列详解
2021-01-21 17:31:13自定义序列的相关魔法方法允许我们自己创建的类拥有序列的特性,让其使用起来就像 python 的内置序列(dict,tuple,list,string等)。 如果要实现这个功能,就要遵循 python 的相关的协议。所谓的协议就是一些约定... -
SpringBoot2.3整合redis缓存自定义序列化的实现
2020-08-18 15:40:08主要介绍了SpringBoot2.3整合redis缓存自定义序列化的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 -
fastjson实现字段自定义序列化方式
2021-05-21 18:44:541 JsonFIeld注解实现 自带序列化类属性 2 实现 fastjson的 Filter -
excel小技巧之--自定义序列
2021-01-16 21:01:08首先自定义序列:文件--选项--高级 点击【编辑自定义序列】,有两种方法:①点击【添加】手动输入,除了提示的按enter分割列表条目,也可以用英文逗号分割,如:专科,本科,硕士研究生,博士研究生 ②先将序列在... -
fastjson自定义序列化
2019-03-29 11:53:43SerializeFilter简介[SerializeFilter](https://github.com/alibaba/fastjson/wiki/SerializeFilter)PropertyFilter 根据PropertyName和PropertyValue来判断是否序列化PropertyPreFilter 根据PropertyName判断是否...