Проблема сериализации/десериализации в jackson
Всем хорошего дня)
Есть модель для работы с json через jackson. Имена полей надо конвертировать обратно в snake_case из camelCase после того, как данные приходят в таком виде:.
"direction":{"id":"1","mode":1,"billing":0,"priority":1,"serverBindTypeMasks":null}
Читаю json в модель, чтобы через неё конвертировать имена полей, но имена остаются те же. А должно быть так:
"direction":{"id":"1","mode":1,"billing":0,"priority":1,"server_bind_type_mask":null}
Вот сама модель
public class Direction {
private Long id;
private Integer mode;
private Integer billing;
private Integer priority;
@JsonProperty("server_bind_type_mask")
@JsonAlias({"server_bind_type_mask", "serverBindTypeMasks"})
private String[] serverBindTypeMasks;
// getters, setters ...
}
Вот работа с jackson
ObjectMapper objectMapper = new ObjectMapper();
// конвертируем в модель
Direction direction = objectMapper.readValue(jsonDirection, Direction.class);
// возвращает тот же json, что и пришел в начале
return objectMapper.writeValueAsString(direction);
Как я понял, jsonProperty отвечает именно за сериализацию обьекта. И вопрос стоит таким образом...Как мне добавить второе имя на jsonProperty без введения новых гетеров, на которые будет вешаться эта аннотация но с разными value? Прошу вас о помощи, уважаемые, т.к. много чего уже перепробовал)