我的一个 Java 对象上有一个非常大的 ID。当 jackson 将其转换为 JSON 时,它会将其作为数字发送(例如 {"id":1000110040000000001}),但一旦它成为 javascript 对象,id 就会更改为 1000110040000000000。我读到了这个问题 here
当 id 较小时它工作正常。我的第一个想法是强制 Jackson 将所有数字转换为字符串,但我也对其他选项持开放态度。如果可能的话,我宁愿不向我的 java 对象添加 Jackson 注释。
最佳答案
Jackson-databind(至少 2.1.3)提供特殊的 ToStringSerializer。这对我有用。
@Id @JsonSerialize(using = ToStringSerializer.class)
private Long id;
关于java - 在序列化我的对象时,如何强制 Jackson 将数字写成字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16052314/