Json To Dto类用于String,String的映射,但可重复使用相同的键

问题描述

要求在json中,将存在字符串和字符串的映射,但应允许具有相同值的多个键。

类似这样的东西

{
  "src": "A","dest": "B","interStoreType": {
    "C1": "C1","C2": "C2","C2": "C3","C3": "C3"
  }
}

此值在一个db列的String中,因此,我使用objectmapper将其转换为Dto对象。 如果我使用map,则默认为[C1:C1,C2:C3,C3:C3],它将取最后一个值 因此,尝试使用Multimap(guava),MultiValuedMap(apache commons集合),它也具有与Map所提供的相同的价值。

还有其他方法,例如在值部分添加数组或用分号联接。 但是,我想知道对象映射器没有为同一键创建多个记录的原因。

解决方法

地图中不能有重复的键。 MultiValuedMap是列表的映射,因此它也是映射,因此也不能有重复的键。

尝试这样表达您的JSON:

{
  "src": "A","dest": "B","interStoreType": {
    "C1": ["C1"],"C2": ["C2","C3"],"C3": ["C3"]
  }
}

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...