JSON Java 中的嵌套 PII 数据屏蔽

JSON Nested PII data masking in Java

我需要屏蔽以下 JSON 数据: 给定 JSON:

{  
        "key1":"value1",  
        "key2":"value2",  
        "key3": {  
            "key4":"value3"  
        }   
} 

Maksed data :
{  
       "key1":"value1",  
       "key2":"value2",  
       "key3": {  
             "key4":"000000"  
       }   
} 

我们已经有问题了 如果键是主要响应的一部分(例如 key1 、 key2 或 key3 ),谁的答案有效,但我需要一些嵌套值。 (使用杰克逊)

如果我们有需要屏蔽的 json 属性 名称,但它在 JSON 中的位置可能会有所不同,具体取决于收到的响应。如何掩盖这些价值观? 示例:我只知道我需要屏蔽 "key4" 值。

你已经有了答案。 Jackson 将为每个嵌套的 属性 创建一个 Map。您可以使用上一个问题的答案,只需更改地图的流程

// Process map
if (map.containsKey("key3")) {
    Map<String, Object> nestedMap = (Map<String, Object>)map.get("key3");
    if (nestedMap.containsKey("key4")) {
        nestedMap.put("key4","000000");
    }
}