如何从类型为List<;的变量中获取键、值;地图<;字符串,动态>>;?
在dart中,我查询一个数据库,得到一个类型为如何从类型为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() ); 有一张这样的地图:
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]
)将被禁止。非常感谢!我花了两天的时间研究铸造和转化方法。。。我真是个新手!