Tôi serializing và deserializing sau đối tượng miền để JSON sử dụng Jackson 1.8.3Buộc Jackson để deserialize để nguyên thủy loại hình cụ thể
public class Node {
private String key;
private Object value;
private List<Node> children = new ArrayList<Node>();
/* getters and setters omitted for brevity */
}
Object là sau đó serialized và deserialized sử dụng đoạn mã sau
ObjectMapper mapper = new ObjectMapper();
mapper.writeValue(destination, rootNode);
Và sau đó được deserialized với
mapper.readValue(destination, Node.class);
Giá trị ban đầu của đối tượng hoặc là Strings, Doubles, Longs hoặc Booleans. Tuy nhiên, trong quá trình tuần tự hóa và deserialization, Jackson biến đổi các giá trị Long (như 4) thành Số nguyên.
Làm cách nào để "buộc" Jackson bỏ qua các giá trị số thập phân sang Long thay vì Số nguyên?
liên quan: http://stackoverflow.com/questions/3140760/how-to-deserialize-and-cast-to-long-all-numbers – Bozho
Hãy coi chừng rằng bạn có thể không deserialize một giá trị lớn dài trong Javascript chính xác, bởi vì số Javascript luôn là điểm nổi 64bit với (chỉ) 52 bit mantissa. –