我使用Jackson 1.8.3将以下域对象序列化和反序列化为JSON
public class Node {
private String key;
private Object value;
private List<Node> children = new ArrayList<Node>();
/* getters and setters omitted for brevity */
}
Run Code Online (Sandbox Code Playgroud)
然后使用以下代码对对象进行序列化和反序列化
ObjectMapper mapper = new ObjectMapper();
mapper.writeValue(destination, rootNode);
Run Code Online (Sandbox Code Playgroud)
然后用反序列化反序列化
mapper.readValue(destination, Node.class);
Run Code Online (Sandbox Code Playgroud)
对象的原始值是字符串,双打,长整数或布尔值.但是,在序列化和反序列化期间,Jackson将Long值(例如4)转换为Integers.
我如何"强制"杰克逊将数字非十进制值反序列化为Long而不是Integer?