鉴于以下内容(从 POJO 序列化),我需要根据字段名称加密字段列表的每次出现,无论其深度如何。例如,我想加密文档的某些部分以进行存储(密码和数量)。
我已经处理了加密部分,但正在寻找一种遍历 JsonNode 的好方法,找到匹配字段的每次出现并加密/替换它。
隐藏(例如,通过@JsonIgnore 无法解决问题,因为我需要存储数据)。这是用于某些系统数据的脱机文件备份。
请注意,在我要匹配的字段(密码和数量)中,它们具有不同的类型,并且密码在不同级别出现多次。
{
"name":"foo",
"id":"123456",
"password":"bar",
"communities": [
{
"name":"administrators",
"location":"xyz",
"password":"baz"
},
{
"name":"members",
"location":"xyz",
"password":"baz"
}
],
"quantityOrdered": 35
}
我看到的使用树模型的例子暗示了对文档结构的了解。我看到 JsonNode.getElements() 可用于获取名称的所有元素,但它只返回值,而不是键。有这方面经验的人可以推荐一个好的方法。