运算符 '[]' 没有为类 'Object?' 定义,它的列表不是对象,为什么 dart 说它是一个对象?


var jobs = [
{
'id': 1,
'name': 'Unemployment',
'salary': '0',
'skills': ['Math', 'Social'],
},
];

我想在第一个工作列表中获得技能对象的第一个值,但我有

无法无条件调用方法"[]",因为接收器可以为"null"。(查看文档(尝试将调用设为条件调用(使用'?'(或向目标('!'(添加空检查

它是一个对象吗?因为每次我运行print(jobs[0]['skills'][0]);时,它总是返回

错误:没有为类"Object?"定义运算符"[]"。

  • "Object"来自"dart:core"。打印(作业[1]['skills'][0](;^错误:编译失败
List<dynamic> jobs = <dynamic>[];
jobs = [
{
'id': 1,
'name': 'Unemployment',
'salary': '0',
'skills': ['Math', 'Social'],
},
];

现在打印:

print(jobs[0]['skills'][0]);

现在应该打印Math

就像你知道技能是一个数组一样,你可以使用typecast("As"运算符(将其转换为如下列表:

print((jobs[0]['skills'] as List<String>).toList().first);
// Math

相关内容

  • 没有找到相关文章

最新更新