Я сериализую и десериализую следующий объект домена в JSON, используя Jackson 1.8.3
public class Node {
private String key;
private Object value;
private List<Node> children = new ArrayList<Node>();
/* getters and setters omitted for brevity */
}
Затем объект сериализуется и десериализуется с использованием следующего кода
ObjectMapper mapper = new ObjectMapper();
mapper.writeValue(destination, rootNode);
А затем десериализовано с
mapper.readValue(destination, Node.class);
Исходные значения объекта: Strings, Doubles, Longs или Booleans. Однако во время сериализации и десериализации Джексон преобразует длинные значения (например, 4) в целые числа.
Как я могу "заставить" Джексона десериализовать числовые недесятичные значения в Long вместо Integer?