相关疑难解决方法(0)

迫使Jackson反序列化为特定的原始类型

我使用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?

java json jackson

14
推荐指数
2
解决办法
3万
查看次数

标签 统计

jackson ×1

java ×1

json ×1