java - 仅将列入白名单的属性从 JSON 转换为 Map
问题描述
想要将传入的 JSON 转换为 aMap<String, Object>
但具有以下要求:
- 未知属性不应导致异常 (
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
)。 - 只有传入 JSON 的白名单属性应该出现在
Map
(使用上述配置,甚至未知属性也会出现在 中Map
)。 - 列入白名单的属性应自动对应于 POJO 的字段。
将 JSON 直接转换为我的 POJO 会处理第 1、2 和 3 点,但我会失去关于传入 JSON 中包含哪些属性的知识,这就是我想转换为Map
.
从 JSON 到 POJO 到Map
(我们称之为Map2)也可以,但是 POJO 中的任何原始字段都会在Map2中具有默认值,即使它们在 JSON 中不存在。
换句话说,我希望结果中的字段Map
是 JSON 的属性和 POJO 中的字段的交集。
例如,给定 JSON:
{
"name": "ABCD",
"_email": "abcd@example.com",
"roles": [
"USER"
]
}
其中name
和roles
是 POJO 中的有效字段(email
有效,但不是_email
),我想最终得到Map
:
{
name: "ABCD",
roles: [ "USER"]
}
不想手动编码各种 POJO 的有效字段名称列表。
解决方案
推荐阅读
- javascript - Chart.js 折线图图例产生错误:未捕获的类型错误:无法读取未定义的属性“0”
- node.js - Lambda 执行在异步事件完成之前退出
- css - 将 CSS 规则设置为单词中的特定字母
- javascript - 在 PDF 文件上打印生成的二维码
- scala - 如何有效地从 MapType 列创建多个列(没有 foldleft)
- function - 在 Julia 1.0.5 中结合 ForwardDiff 和 PyPlot 的问题
- uikit - 将 SwiftUI 视图与 UIView 一起使用的方法
- c# - 无法使用 XElement 解析 XML
- python - 用户定义的函数转换 Python Pandas 数据框不起作用
- wordpress - Woocommerce 按猫和子猫订购购物车数组