当前位置:  开发笔记 > 编程语言 > 正文

使用Jackson序列化UUID集

如何解决《使用Jackson序列化UUID集》经验,为你挑选了1个好方法。

我发现jackson配备了UUID serizlizer/deserializer,可以这样使用:

@Data
@NoArgsConstructor
public class MyClass {

    @JsonSerialize(using=UUIDSerializer.class)
    @JsonDeserialize(using=UUDIDeserializer.class)
    private UUID myUUID;

}

然后使用ObjectMapperon MyClass将正确序列化/反序列化myUUID字段.

但是,我的类有一组我要序列化的UUID.我尝试以与上面相同的方式对字段进行注释,但它抱怨Set无法转换为UUID(正如我预期的那样).

我知道我可以通过扩展JsonSerializer/ 来创建我自己的序列化器/反序列化器JsonDeserializer,但这感觉很糟糕.我可以使用另一种解决方案吗?我也没有选择配置ObjectMapper我的类,因为我没有访问权限ObjectMapper.我正在使用Amazon SWF,它会自动使用Jackson.



1> StaxMan..:

Jackson应该自动使用UUID序列化器,反序列化器,因此您的注释不应该是必需的.

但是对于注释的使用,正如所建议的那样,(de)内容序列化器(而不是值本身!)确实需要使用contentUsing注释的属性 - 否则Jackson将尝试直接对该值应用给定(de)序列化器,并报告不匹配,

推荐阅读
jerry613
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有