Java 使用Jackson序列化UUID集
我发现jackson配备了UUID序列化器/反序列化器,可以这样使用:Java 使用Jackson序列化UUID集,java,serialization,jackson,uuid,Java,Serialization,Jackson,Uuid,我发现jackson配备了UUID序列化器/反序列化器,可以这样使用: @数据 @诺尔格构装师 公共类MyClass{ @JsonSerialize(使用=UUIDSerializer.class) @JsonDeserialize(使用=UUDIDeserializer.class) 私有UUID-myUUID; } 然后在MyClass上使用ObjectMapper将正确序列化/反序列化myUUID字段 但是,我的类有一组要序列化的UUID。我尝试用与上面相同的方式注释该字段,但它抱怨集合
@数据
@诺尔格构装师
公共类MyClass{
@JsonSerialize(使用=UUIDSerializer.class)
@JsonDeserialize(使用=UUDIDeserializer.class)
私有UUID-myUUID;
}
然后在MyClass
上使用ObjectMapper
将正确序列化/反序列化myUUID
字段
但是,我的类有一组要序列化的UUID。我尝试用与上面相同的方式注释该字段,但它抱怨集合无法转换为UUID(正如我所预期的那样)
我知道我可以通过扩展
JsonSerializer
/jsondeselizer
来创建自己的序列化程序/反序列化程序,但这感觉有点不对劲。有没有其他解决方案可以使用?我也不能用我的类配置ObjectMapper
,因为我没有访问ObjectMapper
的权限。我使用的是Amazon SWF,它会自动使用Jackson。Jackson应该自动使用UUID序列化程序和反序列化程序,因此不需要您的注释
但是对于注释的使用,正如建议的那样,(内容的反序列化程序(而不是值本身!)确实需要使用注释的
contentUsing
属性——否则Jackson将尝试直接为值应用给定的(反)序列化程序,报告不匹配,您是否尝试了@JsonSerialize.contentUsing
?