eug*_*enn 4 serialization json jackson
杰克逊反序列化并转换为Integer所有数字,如果整数范围内的值而不是强制转换为Long.我想将所有值转换为Long.是否存在问题的简单解决方案?
杰克逊反序列化为你告诉它的类型,所以如果你声明属性类型为long或Long,它将构造它为long.但也许你绑定到"无类型"结构,如Map?如果所有值都是类型Long,则可以恰当地声明类型,如:
Map<String,Long> map = objectMapper.readValue(json, new TypeReference<Map<String,Long>>() { });
Run Code Online (Sandbox Code Playgroud)
或者也许可以为Object.class不同的处理添加自定义反序列化器(默认反序列化器是org.codehaus.jackson.map.deser.UntypedObjectDeserializer).
如果我知道你实际上想要做什么可能会有所帮助 - Integer并且Long都是数字,所以通常区别并不重要......所以需要Longs的原因是什么?
| 归档时间: |
|
| 查看次数: |
7640 次 |
| 最近记录: |