Java 中的 JSON 嵌套 PII 数据屏蔽

问题描述 投票:0回答:2

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

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

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

我们已经有一个问题 Java 中的 JSON PII 数据屏蔽 如果密钥是主要响应的一部分(例如 key1 、 key2 或 key3 ),则 whoes 答案有效,但我需要一些嵌套值。 (使用杰克逊)

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

java json jackson mask data-masking
2个回答
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");
    }
}

0
投票

最近,我们发布了Java 中的高性能 JSON 掩码库的第一个候选版本,没有运行时依赖项,您可能想用它来执行此操作。

它适用于任何 JSON 值类型(JSON 对象和数组中的任何嵌套),具有广泛且可配置的 API,并且在 CPU 时间和内存分配方面增加了最小的计算开销。此外,它对 JsonPath 支持有限。

© www.soinside.com 2019 - 2024. All rights reserved.