Not sure if this is normal for you, since my method works with Map with List properties:
def map = [a:"a",b:"b",c:null,d:["a1","b1","c1",null,[d1:"d1",d2:null]]] def denull(obj) { if(obj instanceof Map) { obj.collectEntries {k, v -> if(v) [(k): denull(v)] else [:] } } else if(obj instanceof List) { obj.collect { denull(it) }.findAll { it != null } } else { obj } } println map println denull(map)
gives:
[a:a, b:b, c:null, d:[a1, b1, c1, null, [d1:d1, d2:null]]] [a:a, b:b, d:[a1, b1, c1, [d1:d1]]]
After highlighting the null values, you can display the Map as JSON.
source share