removeEmpty method
Implementation
JSONString removeEmpty(JSONString json) {
json = _trimResultHeader(json);
dynamic values = jsonDecode(json);
dynamic _removeEmptyRecursive(dynamic data) {
if (data is List) {
data.removeWhere((element) {
if (element == null) return true;
if (element is String && element.isEmpty) return true;
return false;
});
for (int i = 0; i < data.length; i++) {
data[i] = _removeEmptyRecursive(data[i]);
}
} else if (data is Map) {
data.removeWhere((key, value) {
if (value == null) return true;
if (value is String && value.isEmpty) return true;
return false;
});
data.forEach((key, value) {
data[key] = _removeEmptyRecursive(value);
});
}
return data;
}
values = _removeEmptyRecursive(values);
final j = jsonEncode(values);
return j;
}