다음과 같이 (POJO에서 일련 번호가 지정된) 필자는 필드 이름에 따라 깊이 목록에 관계없이 각 항목의 목록을 암호화해야합니다. 예를 들어, 저장을 위해 문서의 특정 부분을 암호화하고 싶습니다 (password 및 quantityOrdered).Jackson - 일치하는 필드를 재귀 적으로 바꿉니다.
나는 암호화 된 조각을 가지고 있지만, JsonNode를 트래버스하는 좋은 접근 방법을 찾고, 일치하는 필드의 각 항목을 찾아 암호화/대체합니다.
(예 : @JsonIgnore를 통해 숨겨져 있어도 데이터를 저장해야하므로 문제가 해결되지 않습니다.) 이것은 일부 시스템 데이터의 오프라인 파일 백업을위한 것입니다.
일치하려는 필드 (passsword 및 quantityOrdered)의 유형과 유형이 다르며 암호가 여러 수준에서 여러 수준으로 나타납니다.
{
"name":"foo",
"id":"123456",
"password":"bar",
"communities": [
{
"name":"administrators",
"location":"xyz",
"password":"baz"
},
{
"name":"members",
"location":"xyz",
"password":"baz"
}
],
"quantityOrdered": 35
}
예 트리 모델을 사용하는 것은 문서의 구조에 대한 지식을 의미합니다. JsonNode.getElements()를 사용하여 이름의 모든 요소를 가져올 수 있지만 키가 아닌 값만 반환한다는 것을 알았습니다. 이 경험이있는 사람은 좋은 접근 방법을 추천 할 수 있습니까?
아마도 이러한 속성을'@JsonIgnore'로 표시하여 무시할 수 있습니다. – gadget
^^ 그것. 필드를 직렬화하는 이유는 무엇입니까? –
위의 의견은 본인의 의도에 다소 모호한 본래의 질문과 더 관련이 있습니다. 난 필드와 값을 (가역적으로 암호화 된 형식으로) 저장해야합니다 – rogodeter