title: Forcing Jackson to deserialize to specific primitive type
body: <p>I am serializing and deserializing following domain object to JSON using Jackson 1.8.3</p>
  
  <pre><code>public class Node {
      private String key;
      private Object value;
      private List&lt;Node&gt; children = new ArrayList&lt;Node&gt;();
      /* getters and setters omitted for brevity */
  }
  </code></pre>
  
  <p>Object is then serialized and deserialized using following code</p>
  
  <pre><code>ObjectMapper mapper = new ObjectMapper();
  mapper.writeValue(destination, rootNode);
  </code></pre>
  
  <p>And then later deserialized with</p>
  
  <pre><code>mapper.readValue(destination, Node.class);
  </code></pre>
  
  <p>The original values of the object are either Strings, Doubles, Longs or Booleans. However, during serialization and deserialization Jackson transforms Long values (such as 4) to Integers. </p>
  
  <p>How can I "force" Jackson to deserialize numeric non-decimal values to Long instead of Integer? </p>