0

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

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

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

我们已经有一个问题JSON PII data masking in Java whoes answer works if the key is part of the main response (for example key1 , key2 or key3) ,但我需要一些嵌套值。(使用杰克逊)

如果我们有需要屏蔽的 json 属性名称,但它在 JSON 中的位置可能因收到的响应而异,该怎么办。如何掩盖这些价值观?示例:我只知道我需要屏蔽“key4”值。

4

1 回答 1

0

你已经有了答案。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");
    }
}
于 2015-12-28T15:21:52.033 回答