Мне нужно конвертировать карту в POJO.Я ссылался на ссылку ниже, для простого ключа (employeeId, firstName, lastName) он работает нормально.
Для связанного (проводного) ключа (Department.departmentId, Department.departmentName) он не работает
Конвертировать картудля POJO
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
public class Employee {
private int employeeId;
private String firstName;
private String lastName;
private Department department;
public static void main(String[] args) {
Map<String,String> input = constructMap();
final ObjectMapper mapper = new ObjectMapper();
//mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
final Employee employee = mapper.convertValue(input, Employee.class);
System.out.println(employee);
}
private static Map<String,String> constructMap() {
Map<String,String> obj = new HashMap<String,String>();
obj.put("employeeId","1");
obj.put("firstName","firstName");
obj.put("lastName","lastName");
//obj.put("department.departmentId","123");
//obj.put("department.departmentName","Physics");
return obj;
}
} // Employee class end
public class Department {
private int departmentId;
private String departmentName;
}
ключом и значением карты является строка, которую я получаю из какой-то другой функции.Будет несколько вложенных ключей свойств, таких как Department.departmentId или address.addressId