Java 如何在mapstructs中将列表映射到具有列表的对象

Java 如何在mapstructs中将列表映射到具有列表的对象,java,mapstruct,Java,Mapstruct,如何使用MapStruct创建映射器,将列表(我的源)映射到具有列表(目标)的对象 我的源类如下所示: class-SourceB{ 私有字符串名称; 私有字符串lastname; } 类SourceA{ 私有整数id; 私人名单; } 因此,我需要将其转换为: 类目的地a{ 私有整数id; 私人目的地; } 目的地B类{ 私人名单b; } B类目的地{ 私有字符串名称; 私有字符串lastname; } 预期的json示例: 来源: { "id": 1, "bs": [ {

如何使用
MapStruct
创建映射器,将列表(我的源)映射到具有列表(目标)的对象

我的源类如下所示:

class-SourceB{
私有字符串名称;
私有字符串lastname;
}
类SourceA{
私有整数id;
私人名单;
}
因此,我需要将其转换为:

类目的地a{
私有整数id;
私人目的地;
}
目的地B类{
私人名单b;
}
B类目的地{
私有字符串名称;
私有字符串lastname;
}
预期的json示例:

来源:

{
  "id": 1,
  "bs": [
    {
      "name": "name1",
      "lastname": "last1"
    },
    {
      "name": "name2",
      "lastname": "last2"
    }
  ]
}
{
  "id": 1,
  "bs": {
    "b": [
      {
        "name": "name1",
        "lastname": "last1"
      },
      {
        "name": "name2",
        "lastname": "last2"
      }
    ]
  }
}

目的地:

{
  "id": 1,
  "bs": [
    {
      "name": "name1",
      "lastname": "last1"
    },
    {
      "name": "name2",
      "lastname": "last2"
    }
  ]
}
{
  "id": 1,
  "bs": {
    "b": [
      {
        "name": "name1",
        "lastname": "last1"
      },
      {
        "name": "name2",
        "lastname": "last2"
      }
    ]
  }
}


这很简单。只需将带有指定的
目标
@Mapping
注释放在映射方法的顶部即可

@Mapper
公共接口源映射器{
@映射(source=“bs”,target=“bs.b”)
DestinationA SourceA DestinationA(SourceA SourceA);
}

哪个库?为什么不使用同一个类进行序列化和反序列化?@Nand我正在使用,我需要将xml从我的客户机转换到我的世界,从json转换到xml