小编ArQ*_*g14的帖子

解码 Uri.https 时出错,“未处理的异常:FormatException:无效字符(字符 27)”

我正在尝试构建天气应用程序。我搜索了天气 API,因为我需要每小时和每周的天气预报。我找到了这个网站https://www.visualcrossing.com/。我想像这样解码 HTTP 链接(下面的代码):

class DataServiceOneCall {
  Future<WeatherResponseOnecall> getWeatherOneCall(String city) async {
    //https://weather.visualcrossing.com/VisualCrossingWebServices/rest/services/timeline/Olszowice?unitGroup=metric&key=QVDLJFCCQRM5296M7J975FP2W&contentType=json

    final queryParameters = {
      'q': city,
      'unitGroup': 'metric',
      'key': 'QVDLJFCCQRM5296M7J975FP2W',
      'contentType': 'json',
    };

    final uri = Uri.https(
        'weather.visualcrossing.com/VisualCrossingWebServices',
        '/rest/services/timeline,',
        queryParameters);

    final response_onecall = await http.get(uri);

    print(response_onecall.body);

    final json = jsonDecode(response_onecall.body);
    return WeatherResponseOnecall.fromJson(json);
  }
}
Run Code Online (Sandbox Code Playgroud)

我遇到了这样的错误。

E/flutter (11332): [ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: FormatException: Invalid character (at character 27)
E/flutter (11332): weather.visualcrossing.com/VisualCrossingWebServices
E/flutter (11332):                           ^
E/flutter (11332):
E/flutter (11332): #0      _Uri._fail (dart:core/uri.dart:1754:5)
E/flutter (11332): #1      _Uri._normalizeRegName (dart:core/uri.dart:2252:9)
E/flutter …
Run Code Online (Sandbox Code Playgroud)

uri dart flutter

0
推荐指数
1
解决办法
5776
查看次数

标签 统计

dart ×1

flutter ×1

uri ×1