使用 MapStruct 从一个 POJO 转换为另一个 POJO

Convert from one POJO to another POJO using MapStruct

我需要使用 MapStruct 从 One pojo 转换为 Other。

POJO A : 

String A;
String b;
Map <String, Object> section;

POJO B : 

String D;
String E;
String F;
String J; 
String[] H;

D、E是直图我可以通过Mapping annotation来做 喜欢:

@Mapping(source = "a",target = "D")

现在我正在寻找到 F、J、H(字符串数组)的 Map 转换。

任何可能的线索都会帮助我!

可以使用expression关键字实现

@Mapping(target = "F", expression = "java(returnStringValue(map, inputKeyName))")

default String returnStringValue(Map<String, Object> detailsMap, String inputKey) {
     if (detailsMap.containsKey(inputKey)) {
         return detailsMap.get(inputKey).toString();
     }
     return null;
 }