sto serializzazione e la deserializzazione seguente oggetto JSON dominio utilizzando Jackson 1.8.3Forzare Jackson di deserializzare a specifiche tipo primitivo
public class Node {
private String key;
private Object value;
private List<Node> children = new ArrayList<Node>();
/* getters and setters omitted for brevity */
}
oggetto viene serializzato e deserializzato utilizzando seguente codice
ObjectMapper mapper = new ObjectMapper();
mapper.writeValue(destination, rootNode);
E poi deserializzato con
mapper.readValue(destination, Node.class);
I valori originali dell'oggetto a re o stringhe, doppie, lunghe o booleane. Tuttavia, durante la serializzazione e la deserializzazione, Jackson trasforma valori lunghi (come 4) in numeri interi.
Come posso "forzare" Jackson a deserializzare valori numerici non decimali su Long invece di Integer?
correlati: http://stackoverflow.com/questions/3140760/how-to-deserialize-and-cast-to-long-all-numbers – Bozho
Attenzione che non è possibile deserializzare un grande valore lungo in Javascript esattamente, perché i numeri Javascript sono sempre a virgola mobile a 64 bit con (solo) mantissa a 52 bit. –