解决雪花算法id精度丢失问题(自定义序列化类将Set 转化成 Set)
前言
- 是想解决的,肯定都知道问题了,直接看解决方法吧
1. 对于Long 转 String
-
对于Long类型的属性,直接使用下面注解即可解决问题
@JsonSerialize(using = ToStringSerializer.class)
2. 对于 “Set《Long》”自定义序列化类
-
直接看
-
完整代码
package com.liu.susu.common.serializers; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.databind.JsonSerializer; import com.fasterxml.jackson.databind.SerializerProvider; import java.io.IOException; import java.util.HashSet; import java.util.Set; /** * description * @author susu **/ public class SetLongToSetStringSerialize extends JsonSerializer<Set<Long>> { @Override public void serialize(Set<Long> value, JsonGenerator gen, SerializerProvider provider) throws IOException { if (value == null){ gen.writeNull(); } Set<String> newValue = new HashSet<>(); value.forEach(v->{ newValue.add(String.valueOf(v)); }); gen.writeObject(newValue); } }