今天在写Android flutter程序的时候遇到了一个问题,可能是flutter更新后才出现的一个新问题吧。我也是第一次遇到所以想给各位老铁分享一下。

ElevatedButton(
                onPressed: () async{
                  var url = 'http://192.168.100.118:15555/?action=newlist';
                  var res = await http.get(url);
                  String body = res.body;
                  var json = jsonDecode(body);
                  print(json);
                },
                child: Text("http请求")
            )
   flutter 网络请求http.get(url) 提示错误argument type 'String' can't be assigned to the parameter type 'Ur'。
var res = await http.get(url);提示错误如下:

 解决方法是,把字符串类型的url地址通过Uri.parse()方法转换成Uri类型

ElevatedButton(
                onPressed: () async{
                  var url = 'http://192.168.100.118:15555/?action=newlist';
                  var res = await http.get(Uri.parse(url));
                  String body = res.body;
                  var json = jsonDecode(body);
                  print(json);
                  print(json['items'][0]);
                },
                child: Text("http请求!")
            )

这样就不会报错了。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐