Как десериализовать сбежавший json с Джексоном для модернизации, котлин

#json #kotlin #jackson #deserialization #retrofit2

Вопрос:

Как проанализировать экранированный / заключенный в кавычки JSON в классы данных Kotlin в модификации (Kotlin) с использованием Джексона без сопоставления вручную

 {  "Data": "[{"LeaveId":"9806595202103221","EmpNo":"9806595","LeaveType":"ANNUAL","DayType":"First Half","LeaveDateFrom":"03/22/2021","LeaveDateTo":"03/22/2021","Remark":"test leave","Substitute":"132296","ApplyDate":"3/18/2021 2:29:07 PM","AllocatedShiftInTime":"","AllocatedShiftOutTime":"","ShiftAllocationId":""},{"LeaveId":"9806595202103191","EmpNo":"9806595","LeaveType":"CASUAL","DayType":"First Half","LeaveDateFrom":"03/19/2021","LeaveDateTo":"03/19/2021","Remark":"firebase message test","Substitute":"132296","ApplyDate":"3/18/2021 9:28:38 AM","AllocatedShiftInTime":"","AllocatedShiftOutTime":"","ShiftAllocationId":""}]",  "ID": "200" }  

Это может быть достигнуто вручную с помощью ObjectMapper

 val data = mapper.readTree(responseString).get("Data").asText()  val leaveList: Arraylt;LeaveDtogt; =  mapper.convertValue(mapper.readTree(data), Arraylt;LeaveDtogt;::class.java)  

Но я хотел бы знать, можно ли это сделать непосредственно при модернизации, без приведенного выше фрагмента кода! Что-то вроде простого…

 val leaveList = api.getLeaveList()  

Комментарии:

1. Я хочу знать, как удалить сериализацию сбежавшего json непосредственно при модернизации…!