Don’t need to use cast, you can parse directly to a Map
final Map parsed = json.decode(res);
After you have a map you can use that data to convert into your Object.
final signUp = SignUpResponse.fromJson(parsed);
And if you want to parse an array of objects, you could do something like this:
//assuming this json returns an array of signupresponse objects
final List parsedList = json.decode(res);
List<SignUpResponse> list = parsedList.map((val) => SignUpResponse.fromJson(val)).toList();