gpt4 book ai didi

flutter - 未处理的异常 : type 'Null' is not a subtype of type 'List' in type cast

转载 作者:行者123 更新时间:2023-12-05 05:35:39 42 4
gpt4 key购买 nike

目标是使用 map 将字符串转换为列表,并将值返回给函数调用。

我正在使用 SharedPreferences 保存一个名为 where in 的对象列表,我将数据保存在某个点并在要显示时获取数据。

下面的 block 是发生错误的函数。

void getData() async {
final prefs = await SharedPreferences.getInstance();
final String taskString = prefs.getString('task_data').toString();
List<Task> tasksData = Task.decode(taskString);
_tasks = tasksData;
notifyListeners();
}

decode() 看起来基本上是在进行转换。

static List<Task> decode(String tasks) {
return (jsonDecode(tasks) as List<dynamic>).map<Task>((task) {
return Task.fromJson(task);
}).toList();

它建议在 decode() 的类型转换中检查空条件。但是在执行检查时,它给出了相同的错误。

最佳答案

您的响应可能不是正确的映射,因此它无法使用 jsonDecode 函数解码该数据,因此它返回 Null,因此您可以像这样使用您的函数可能对您有帮助:

static List<Task> decode(String tasks) {
var data = (jsonDecode(tasks) as List<dynamic>?);
if(data != null){
return (jsonDecode(tasks) as List<dynamic>?)!.map<Task>((task) {
return Task.fromJson(task);
}).toList();
} else {
return <Task>[];
}
}

关于flutter - 未处理的异常 : type 'Null' is not a subtype of type 'List<dynamic>' in type cast,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73453256/

42 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com