我今天升级了一下...
我现在在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中工作。
有人知道会发生什么吗?
您可以发送嵌套的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
);
我用了这个
if(json["key"]!= null){
this.active_guests = json["key"].cast<String, int>();
}
Uri的构造函数。https需要运行时类型为
Map的映射
Map<String, String> stringParams = {};
// or
var stringParams = <String, String>{};
这种方法之所以能起作用,是因为在Dart 1中,即使在强模式下,
dynamic
也是模糊的,就像Object
和null
一样,这意味着动态类型可以分配给任何对象,也可以从任何对象分配。在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获取数据。我得到了错误类型列表不是地图的子类型。我是新来的,不明白我在哪里犯了错误。 这是我的回帖功能: 在我的主屏幕中,我使用了一个,如下所示: 如何解决此错误?提前谢谢。