Fix: Unhandled Exception: FormatException: Unexpected character when parsing JSON in Dart
The fix in 30 seconds: your response body is not the JSON you think it is. Print the raw bytes, decode with utf8.decode(response.bodyBytes), and never feed an HTML error page or a BOM-prefixed string to jsonDecode.