如何从类型为List<;的变量中获取键、值;地图<;字符串,动态>>;?

如何从类型为List<;的变量中获取键、值;地图<;字符串,动态>>;?,list,dictionary,dart,casting,List,Dictionary,Dart,Casting,在dart中,我查询一个数据库,得到一个类型为List的返回,如下所示: List<Map<String,dynamic>> result =await DatabaseHelper.instance.queryForDate(2); print(result.toString()); {_id: 2, user: U8KCKeriKo2, date: 2021-04-30} print(result['user'].toString() ); 有一张这样的地图:

在dart中,我查询一个数据库,得到一个类型为
List
的返回,如下所示:

List<Map<String,dynamic>> result =await DatabaseHelper.instance.queryForDate(2);
print(result.toString());
{_id: 2, user: U8KCKeriKo2, date: 2021-04-30}
print(result['user'].toString() );
有一张这样的地图:

List<Map<String,dynamic>> result =await DatabaseHelper.instance.queryForDate(2);
print(result.toString());
{_id: 2, user: U8KCKeriKo2, date: 2021-04-30}
print(result['user'].toString() );
然后我尝试让用户像这样:

List<Map<String,dynamic>> result =await DatabaseHelper.instance.queryForDate(2);
print(result.toString());
{_id: 2, user: U8KCKeriKo2, date: 2021-04-30}
print(result['user'].toString() );
将生成以下消息:

The argument of type string can't be assigned to the parameter type int
尝试使用以下内容访问用户

  print(result[1].toString() );
这将产生以下错误:

[ERROR:flutter/lib/ui/ui_dart_state.cc(186)] Unhandled Exception: RangeError (index): Invalid value: Only valid value is 0: 2

如何从类型为
List
的变量中获取键、值?

正如第一行的声明所明确指出的那样,
result
是一个
列表,而不是一个
映射。它的
运算符[]
只接受整数。要访问第i个
映射的
'user'
条目,您需要使用
结果[i]['user']
。请注意,
List
s从0索引。当您尝试使用
result[1]
(错误消息表明您实际尝试使用
result[2]
)时,
列表只有一个元素,因此
result[1]
(和
result[2]
)将被禁止。非常感谢!我花了两天的时间研究铸造和转化方法。。。我真是个新手!