Маппинг json в DTO с помощью Jackson

Друзья, добрый день! Есть такая dto'шка:

public class HarDto {

    private Long id;
    private String version;
    private String browserName;
    private String browserVersion;
    private JsonNode content;
}

И json такой структуры:

{
    "log": {
        "version": "1.2",
        "creator": {
            "name": "Firefox",
            "version": "70.0.1"
        },
        "browser": {
            "name": "Firefox",
            "version": "70.0.1"
        },
        "pages": [
            {
                "startedDateTime": "2019-12-02T16:59:06.443+03:00",
                "id": "page_1",
                "pageTimings": {
                    "onContentLoad": 3936,
                    "onLoad": 7985
                }
            }
        ],
        "entries": [
            {...

Мне нужно как можно меньшими усилиями смпаить json в dto. От рутового элемента я избавился таким образом:

objectMapper.enable(DeserializationFeature.UNWRAP_ROOT_VALUE);

+

@JsonRootName("log")
public class HarDto {}

Но остается проблема с browserVersion и browserName. Могу ли я как-то получить их из json'а, не используя отдельный класс или не переделывая две строки(browser version and name) в map? Что-то типа

@JsonProperty("browser.name")
private String browserName;

Заранее огромное спасибо за помощь.

UPDATE

@Andrew Bystrov подсказал, как оказалось, самый простой и действенный вариант, решил вопрос таким образом: сделал data class, который содержал в себе полную структуру json, мапил в него, а потом на уровне сервиса написал простенький конвертер dtoToEntity


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