JSON在Java中嵌套PII数据屏蔽

时间:2015-12-28 13:34:15

标签: java json jackson mask data-masking

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

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

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

我们已经有了一个问题JSON PII data masking in Java 如果密钥是主响应的一部分(例如key1,key2或key3),那么回答是有效的,但我需要嵌套值的东西。 (使用杰克逊)

如果我们需要屏蔽json属性名称,但它的位置可能因JSON而异,具体取决于收到的响应。如何掩盖这样的价值观? 示例:我只知道我需要屏蔽“key4”值。

1 个答案:

答案 0 :(得分:0)

你已经有了答案。杰克逊将为每个嵌套属性创建一个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");
    }
}