Я знаю, что можно управлять формой сериализации BigDecimal
Джексоном, используя что-то вроде @JsonFormat(shape = Shape.STRING)
.
То, что я не могу понять, это как включить это для BigDecimal
в значении Map
, не настраивая ObjectMapper
глобально.
mapper.configOverride(BigDecimal.class)
.setFormat(JsonFormat.Value.forShape(JsonFormat.Shape.STRING));
Я что-то ищу, я представляю аннотацию или две, чтобы свойство всегда сериализовалось как строка, независимо от конфигурации ObjectMapper
.
// what @Json... annotations here
private Map<String, BigDecimal> foo = ImmutableMap.of(
"USD", new BigDecimal("1.50"),
"GBP", new BigDecimal("6.66")
);
// will produce this
{
"USD": "1.50",
"GBP": "6.66"
}