我从我的NoSql数据库中收到以下响应。
它是InternalLinkedHashMap类型。
// key // value
{
"42514738" : "iohuahges",
"25498724" : "hiuasfhyd",
"24257+62" : "opiasurj",
"35842942" : "ftysadyg",
"98472442" : "iouyaerj"
}
我想使用这些值来构造ListView。
但是以上不是列表,我将无法提前知道上图中的键。
因此,即使下面的方法可行(下面的String赋值),我也无法在运行时执行该操作,因为我不知道键是什么。
如何从上述结果中获取索引?
FutureBuilder(
future: methodReturningAboveMap(),
builder: (context, snapshot) {
return ListView.builder(
itemCount: snapshot.data.length,
itemBuilder: (context, index) {
// want to use index something like snapshot.data['collection'][0] and get get first key value and so on.
String s = snapshot.data['collection']['42514738']; // will work but can't do it as mentioned above
},
);
},
),
答案 0 :(得分:1)
您可以提取数据并将其转换为Map
Map<String, dynamic> data = snapshot.data['collection'];
然后在ListView中,您可以通过使用
获取索引String key = data.keys.elementAt(index);
然后使用
访问其值String value = data[key];