我正在尝试从地图列表中包含的列表中提取值,但是 出现以下错误:未为类型'Object'定义运算符'[]'
从下面的列表中,我想访问一个值,例如'Pizza':
List<Map<String,Object>> questions = [
{
'question': 'What is your favorite food',
'answers': [
'Pizza',
'Tacos',
'Sushi',
],
},
];
当我尝试在答案列表中打印答案时,它不起作用:
// Does not work
// The operator '[]' isn't defined for the type 'Object'
print(questions[0]['answers'][0]);
我可以将答案列表保存到list类型的变量中,然后打印特定的列表项:
// Works
List answerList = questions[0]['answers'];
print(answerList[0]);
为什么第一种方法不起作用,如何使用一个命令使它起作用?
答案 0 :(得分:2)
与其返回Object
,而是返回dynamic
,因为它有一个operator []
List<Map<String, dynamic>> questions = [
{
'question': 'What is your favorite food',
'answers': [
'Pizza',
'Tacos',
'Sushi',
],
},
];