// 判断
bool isNullOrEmpty<T>(T obj) {
if (obj == null) {
return true;
}
if (obj is String) {
return obj.isEmpty || obj == 'null';
}
if (obj is num) {
return false;
}
if (obj is int) {
return false;
}
if (obj is DateTime) {
return false;
}
if (obj is Map) {
return obj.isEmpty;
}
if (obj is List) {
return obj.isEmpty;
}
return false;
}
// 取值
dynamic getValue(dynamic data) {
if (data == null) {
return '';
}
if (data is String) {
if (data == 'null') {
return '';
}
return data;
}
if (data is num) {
if (data == 'null') {
return data;
}
}
if (data is DateTime) {
if (data == 'null') {
return '';
}
}
if (data is int) {
if (data == null || data == 'null') {
return data;
}
}
if (data is Map) {
if (data.isEmpty) {
return {};
}
return data;
}
if (data is List) {
if (data.isEmpty) {
return [];
}
return data;
}
return data;
}
用法:
判断是否为空:if (isNullOrEmpty(result['a'])
取值: getValue(dataList['logourl']),