jackson.databind.ex c .MismatchedInputException для JSON дериализации в List DTO - PullRequest
0 голосов
/ 07 мая 2020

Я пытаюсь десериализовать JSON в POJO с помощью @JsonRootName для root элемента EmployeeDTO. Я получаю jackson.databind.exc.MismatchedInputException. Обратите внимание, что я использую аннотации Lombok при загрузке Spring.

Уровень обслуживания:

List<EmployeeDetails> employeeList = emp.getEmployees();
String jsonEmployee = mapper.writeValueAsString(employeeList);
List<EmployeeDTO> correctList = mapper.readValue(jsonEmployee,new TypeReference<List<EmployeeDTO>>() {}); // error line

EmployeeDTO: (Обратите внимание, что я использую Lombok)

@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonRootName("EmployeeDTO")
public class EmployeeDTO {
    private long employeeId;
    private String managerId;

    private final List<EmployeeDTO> getEmployees;

    @JsonProperty("EmployeeDTO")
    public List<EmployeeDTO> getEmployees() {
        return getEmployees;
    }

}

Журнал ошибок:

Unhandled Exception caughtcom.fasterxml.jackson.databind.exc.MismatchedInputException: Root name 'ArrayList' does not match expected ('List') for type [collection type; class java.util.List  contains [simple type, class com.ayman.dto.EmployeeDTO
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...