parseJsonMap function

Map<String, dynamic>? parseJsonMap(
  1. dynamic value
)

安全地把动态值转为 Map;字符串会再 JSON.decode

Implementation

Map<String, dynamic>? parseJsonMap(dynamic value) {
  if (value == null) return null;
  if (value is Map<String, dynamic>) return value;
  if (value is Map) return Map<String, dynamic>.from(value);
  if (value is String) {
    if (value.isEmpty || value == '{}' || value == 'null') return null;
    try {
      final decoded = jsonDecode(value);
      if (decoded is Map) return Map<String, dynamic>.from(decoded);
    } catch (_) {}
  }
  return null;
}