json 如何将所有数字转换为长?

busg9geu  于 5个月前  发布在  其他
关注(0)|答案(1)|浏览(79)

Jackson将所有整数的值转换为长整型。我想将所有的值转换为长整型。这是一个简单的解决方案吗?

wqnecbli

wqnecbli1#

Jackson会根据你告诉它的类型来构造属性,所以如果你声明属性为long或Long类型,它会构造为long类型。但是也许你绑定到了“无类型”的结构,比如Map?如果所有的值都是Long类型,你可以适当地声明类型,比如:

Map<String,Long> map = objectMapper.readValue(json, new TypeReference<Map<String,Long>>() { });

字符串
或者,也可以为Object.class添加具有不同处理方式的自定义解析器(默认解析器为org.codehaus.jackson.map.deser.UntypedObjectDeserializer)。
如果我知道你实际上想做什么,这可能会有所帮助--IntegerLong都是数字,所以通常区分并不重要.那么,需要长的原因是什么呢?

相关问题