Map<String, dynamic>? toJson() { if (json == null || json!.isEmpty) { return null; } final map = <String, dynamic>{}; json!.forEach((key, value) => map[key.toString()] = value); return map; }