当前位置: 首页 > 知识库问答 >
问题:

中断异常“\u InternalLinkedHashMap”不是“Map”类型的子类型

万俟宜修
2023-03-14

我今天升级了一下...

我现在在v0上。2.11我在这个函数中遇到了一个奇怪的运行时错误:

Future apiCall([Map params = const {}]) async {
  loading = true;
  Map stringParams = {};
  params.forEach((k,v)=>stringParams[k.toString()] = v.toString());
  Uri url = new Uri.https(apiDomain, apiPath, stringParams);
  print(url);
  var result = await http.post(
    url,
    body: {'apikey': apiKey}
  );
  loading = false;
  print(result.body);
  return json.decode(result.body);
}

我在没有任何参数的情况下调用函数,得到了子类型错误。

此代码在DartPad中工作。

有人知道会发生什么吗?

共有3个答案

狄承望
2023-03-14

您可以发送嵌套的JSON参数,如下所示:

>

  • 使用json将其转换为字符串。编码

    发送标题中的“内容类型:应用程序/json”。

    var uri = "${Config.baseURL}/your/endpoint";
    var headers = {
      'Content-Type': 'application/json'
    };
    final response = await http.post(
      uri,
      body: json.encode(data),
      headers: headers
    );
    

  • 慕永年
    2023-03-14

    我用了这个

        if(json["key"]!= null){
           this.active_guests = json["key"].cast<String, int>();
         }
    
    严嘉良
    2023-03-14

    Uri的构造函数。https需要运行时类型为Map的映射

    Map<String, String> stringParams = {};
    // or
    var stringParams = <String, String>{};
    

    这种方法之所以能起作用,是因为在Dart 1中,即使在强模式下,dynamic也是模糊的,就像Objectnull一样,这意味着动态类型可以分配给任何对象,也可以从任何对象分配。在Dart 2中,dynamic的作用与Object类似,只是您可以调用方法或访问其中的属性而无需向下转换。

     类似资料:
    • 我对getruangfasiliti方法有问题。有没有办法修复这个错误?我已经为此工作了好几个星期了。 尝试这个,但它不是我想要的。我要得到这个物体的所有数据 下面是我的代码以及如何修复错误。我不知道我的错在哪里 模型Aduan.dart 阿杜安。飞奔 这是我的错误

    • 更新:感谢@Rjulcaa回答我的地图现在是一个列表,但是列表没有显示在用户界面上。我转过来,我需要用FutureBuilder来处理未来,所以如果有人面临这个问题,记得在你的用户界面主体中添加一个FutureBuilder,并在构建器上返回你想要显示的小部件。 我正在制作一个todo列表教程,我正在尝试添加JSON上的编码功能,我的todoList将其保存在SharedReferences上,当

    • 我正在开发一个依靠API REST调用的flutter应用程序。来自API的响应有点复杂。当调用我的API(例如:api/产品)时,我可以从日志中看到响应:但是我有这个错误: 类型列表 StackTrace: [更新]:退货产品响应。fromJson(response)而不是response ProductsRespository: ProductsBloc: 回应: ApiProvider: 模

    • 我正在解码一个响应体,我得到了错误: 我在Udemy上学习颤振教程时,正在尝试使用API。教程说要使用https://javiercbk.github.io/json_to_dart/将JSON转换为Dart。我把JSON从https://www.openbrewerydb.org/并将其转换为Dart,但我遇到的问题是,当我尝试解码API时,我得到了未处理的错误异常:“List”类型不是“Map

    • 我正在学习飞镖和颤振。现在,我尝试将JSON作为一种持久性方法。我犯了很多错误,都是关于类型和内容的。这是我遇到的最新错误:

    • 我试图从API获取数据。我得到了错误类型列表不是地图的子类型。我是新来的,不明白我在哪里犯了错误。 这是我的回帖功能: 在我的主屏幕中,我使用了一个,如下所示: 如何解决此错误?提前谢谢。