parseJson function
Parses a JSON string safely.
Returns null if parsing fails or if the result is null.
Implementation
Map<String, dynamic>? parseJson(String? source) {
if (source == null || source.isEmpty) return null;
try {
final result = jsonDecode(source);
if (result is Map<String, dynamic>) return result;
return null;
} catch (_) {
return null;
}
}