jsonValueToList<T> method
List<T>?
jsonValueToList<
T>( - dynamic value, {
- T itemConvert(
- dynamic
)?,
})
Implementation
List<T>? jsonValueToList<T>(dynamic value, {T Function(dynamic)? itemConvert}) {
List<T> returnValue = [];
List? dynamicListValue;
if (value == null) return null;
if (value is List) {
dynamicListValue = value;
} else {
if (value is String) {
try {
var decode = jsonDecode(value);
if (decode is List) dynamicListValue = decode;
} catch (e) {}
}
}
if (dynamicListValue != null) {
if (itemConvert == null && "" is T) itemConvert = (e) => e.toString() as T;
for (var item in dynamicListValue) {
if (item is T) {
returnValue.add(item);
} else if (itemConvert != null) {
returnValue.add(itemConvert(item));
}
}
return returnValue;
}
return null;
}