Jackson将所有整数的值转换为长整型。我想将所有的值转换为长整型。这是一个简单的解决方案吗?
wqnecbli1#
Jackson会根据你告诉它的类型来构造属性,所以如果你声明属性为long或Long类型,它会构造为long类型。但是也许你绑定到了“无类型”的结构,比如Map?如果所有的值都是Long类型,你可以适当地声明类型,比如:
Map
Long
Map<String,Long> map = objectMapper.readValue(json, new TypeReference<Map<String,Long>>() { });
字符串或者,也可以为Object.class添加具有不同处理方式的自定义解析器(默认解析器为org.codehaus.jackson.map.deser.UntypedObjectDeserializer)。如果我知道你实际上想做什么,这可能会有所帮助--Integer和Long都是数字,所以通常区分并不重要.那么,需要长的原因是什么呢?
Object.class
org.codehaus.jackson.map.deser.UntypedObjectDeserializer
Integer
1条答案
按热度按时间wqnecbli1#
Jackson会根据你告诉它的类型来构造属性,所以如果你声明属性为long或Long类型,它会构造为long类型。但是也许你绑定到了“无类型”的结构,比如
Map
?如果所有的值都是Long
类型,你可以适当地声明类型,比如:字符串
或者,也可以为
Object.class
添加具有不同处理方式的自定义解析器(默认解析器为org.codehaus.jackson.map.deser.UntypedObjectDeserializer
)。如果我知道你实际上想做什么,这可能会有所帮助--
Integer
和Long
都是数字,所以通常区分并不重要.那么,需要长的原因是什么呢?