import com.fasterxml.jackson.databind.JsonNode;
import java.util.Iterator;
/**
* @author: Bhupendra Singh
* @date 7/6/21 7:57 PM
*/
public class RemoveNullAndEmptyFromJson {
/**
* This method removes null/empty nodes from JsonNode.
*
* @param jsonNode
* @return
*/
public void removeNullAndEmptyNodesFromJsonNode(final JsonNode jsonNode) {
if (jsonNode == null) {
return;
}
if (jsonNode.isObject()) {
final Iterator<JsonNode> iterator = jsonNode.iterator();
while (iterator.hasNext()) {
final JsonNode child = iterator.next();
if (child.isNull() || child.isEmpty(null)) {
iterator.remove();
} else {
removeNullAndEmptyNodesFromJsonNode(child);
}
}
} else if (jsonNode.isArray()) {
jsonNode.forEach(this::removeNullAndEmptyNodesFromJsonNode);
}
}
}