Проблема сериализации/десериализации в 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? Прошу вас о помощи, уважаемые, т.к. много чего уже перепробовал)


Ответы (0 шт):