#java #json #serialization #jackson #bigdecimal
Вопрос:
У меня есть BigDecimal
с большим количеством дробных цифр (т. Е. цифр справа от десятичной точки). При сериализации я получаю
"value" : 0.01234567890123456789
Но при десериализации я получаю BigDecimal со значением:
0.012345678901234568
Таким образом, это выглядит как десериализация с помощью Джексона, округленная до 18 знаков после запятой. Сколько дробных цифр поддерживается при сериализации и десериализации с использованием Джексона? Как бы я поддержал 20 знаков после запятой? Нужно ли мне сериализовать как строку с помощью чего-то вроде:
@JsonFormat(shape=JsonFormat.Shape.STRING)
private BigDecimal value;
все еще десериализуясь до большого десятичного числа?
Комментарии:
1. Я попробовал ваш код (джексон 2.12.2) без аннотации JsonFormat, и он отлично работает, может быть, причиной этой проблемы может быть какая-то конфигурация ObjectMapper ?