2015-12-28 2 views
0

Мне нужно, чтобы скрыть следующие JSON данных: дали JSON:данные JSON Уплотненного PII маскирующий в Java

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

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

у нас уже есть вопрос JSON PII data masking in Java whoes ответить работает, если ключ является частью основной реакции (например key1, key2 или key3), но мне нужно что-то для вложенных значений. (используя jackson)

Что делать, если у нас есть имя свойства json, которое нам нужно замаскировать, но его положение может отличаться в JSON в зависимости от полученного ответа. Как замаскировать такие значения? Пример: Я знаю только, что мне нужно замаскировать значение «key4».

ответ

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"); 
    } 
} 
Смежные вопросы