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");
}
}
我需要屏蔽以下 JSON 数据: 给定 JSON:
{
"key1":"value1",
"key2":"value2",
"key3": {
"key4":"value3"
}
}
Maksed data :
{
"key1":"value1",
"key2":"value2",
"key3": {
"key4":"000000"
}
}
我们已经有问题了
如果我们有需要屏蔽的 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");
}
}