gpt4 book ai didi

flutter - “字符串”不是 'int'的 'index'类型的子类型

转载 作者:行者123 更新时间:2023-12-03 04:35:55 25 4
gpt4 key购买 nike

我试图将列表存储到本地数据库。例

[{id: 29, inspection_id: 25}]  // output for time:i['inspection']['time']
我用这个代码
   var value = json.decode(response.body);
for (var i in value['requests']) {
await _dao.insert(ABC(time:i['inspection']['time']));
}
如果 i['inspection']['time]不为空,则工作正常,但如果为空,则为 [],我得到的类型为 'String' is not a subtype of type 'int' of 'index'我如何检查它是否为空,它不会插入数据库,所以我可以摆脱这个错误?
请帮助,我在哭。
编辑
 var a = i['current_inspection']['time'].toString();
print("a "+a);
将打印该值,但是如果列表为空,则将引发错误。

最佳答案

您的问题可能是因为您缺少字符串的结尾引号,这会解释错误消息,请尝试:

var value = json.decode(response.body);
for (var i in value['requests']) {
await _dao.insert(ABC(time:i['inspection']['time']));
}
另外,要检查dart中的列表是否为空,只需使用List.isEmpty。
使用三元运算符,然后检查列表是否为空,如下所示:
 var a = i['current_inspection']['time'].isEmpty? #default value: i['current_inspection']['time'].toString();
这应该工作。

关于flutter - “字符串”不是 'int'的 'index'类型的子类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64135096/

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