Kotlin ULong Jackson(反)序列化程序
我有一个端点,它接收进入身体的DTO。 DTO有一个ULong属性,当我请求 和邮递员在一起 另外,我尝试创建我的自定义序列化程序Kotlin ULong Jackson(反)序列化程序,kotlin,jackson,Kotlin,Jackson,我有一个端点,它接收进入身体的DTO。 DTO有一个ULong属性,当我请求 和邮递员在一起 另外,我尝试创建我的自定义序列化程序 class ULongSerializer: StdSerializer<ULong>{ override fun serializer(value: ULong, gen: JsonGenarator, provader: SerializerProvider){ gen.writeStartObject() gen.write
class ULongSerializer: StdSerializer<ULong>{
override fun serializer(value: ULong, gen: JsonGenarator, provader: SerializerProvider){
gen.writeStartObject()
gen.writeNumber(value) //HERE IS THE PROBLEM
gen.writeEndObject
}
}
class-ULongSerializer:StdSerializer{
重写有趣的序列化程序(值:ULong,gen:jsongenator,provader:SerializerProvider){
writeStartObject()一代
gen.writeNumber(value)//问题出在这里
writeEndObject将军
}
}
write number方法都不支持ULong,也不支持write field等其他方法
有人能给我一些技巧来处理这个问题吗?
ULong
是一个类,您可以为它使用Jackson序列化器/反序列化器,但是这种类型的字段会作为primivitelong
类型的字段编译成字节码。因此,超过Long.MAX_VALUE
的值将被不正确地序列化/反序列化(为负值),而自定义序列化程序/反序列化程序对您没有帮助
看看
kotlinx.serialization
。它对无符号整数类型具有OOTB实验性支持。请参见谢谢您的帮助