java - 用于字符串映射的 Json To Dto 类,字符串但允许重复使用相同的键
问题描述
要求在 json 中,会有字符串和字符串的映射,但应该允许多个具有相同值的键。
像这样的东西
{
"src": "A",
"dest": "B",
"interStoreType": {
"C1": "C1",
"C2": "C2",
"C2": "C3",
"C3": "C3"
}
}
该值在一个 db 列中的字符串中,因此,我使用 objectmapper 将其转换为 Dto 对象。默认情况下,如果我使用地图,它将是[C1:C1,C2:C3,C3:C3],它将采用最后一个值所以,尝试使用Multimap(guava),MultiValuedMap(apache commons collection),它也给出了与 Map 给出的值相同。
还有其他方法,例如在值部分添加数组或使用分隔符连接。但是,我想知道对象映射器没有为同一个键创建多个记录的原因。
解决方案
地图中不能有重复的键。AMultiValuedMap
是一个列表的映射,所以它也是一个映射,所以它也不能有重复的键。
尝试像这样表达您的 JSON:
{
"src": "A",
"dest": "B",
"interStoreType": {
"C1": ["C1"],
"C2": ["C2","C3"],
"C3": ["C3"]
}
}
推荐阅读
- python - shell 中的 Django 模型管理
- algorithm - 为什么 leetcode 说我的 atoi 答案不正确?它真的不正确吗?或者leetcode有bug吗
- android - 发回 Android WorkManager 的进度
- python - 如何解决“ValueError:空模块名称”?
- java - Java 到 Kotlin 的转换
- linux - 如何在 bash 脚本中读取文件时删除 1 个或多个匹配行
- notepad - 如何使一组垂直名称水平?
- jpa - 一对一设置确实允许父表中的多个记录与另一个相关表中的一条记录相关
- http - HTTP 客户端应该如何处理没有标头的响应?
- yql - 没有来自 Yahoo Weather API 的天气数据