【问题标题】:Getting data from nested map in dart从 dart 中的嵌套地图中获取数据
【发布时间】:2021-08-29 02:26:01
【问题描述】:

我想在列表项内的地图所有者中访问 avatar_url。

JsonMap

【问题讨论】:

标签: flutter flutter-layout


【解决方案1】:

试试这个

    import "package:http/http.dart" as http;

    Future<List<String>> getListOfAvatarUrl() async {
  http.Response response = http.get("your uri"));
  if(response.statusCode == 200) {
    List<Map<String, dynamic>> items = jsonDecode(response.body)["items"];
    List<Map<String,dynamic>> owners = items.map<Map<String, dynamic>>((Map<String, dynamic> item) {
      return item['owner'];
    }).toList();
    List<String> avatarUrls = owners.map((Map<String, dynamic> owner) {
      return owner["avatar_url"].toString();
    }).toList();
    return avatarUrls;
  } 
  return [];
}

构建方法内部

return Scaffold(
        appBar: AppBar(
          // Here we take the value from the MyHomePage object that was created by
          // the App.build method, and use it to set our appbar title.
          title: Text(widget.title),
        ),
        body: FutureBuilder<List<String>>(
          future: getListOfAvatarUrl(),
          builder:
              (BuildContext context, AsyncSnapshot<List<String>> snapshot) {
            if (snapshot.hasData) {
              return ListView.builder(
                  itemCount: snapshot.data!.length,
                  itemBuilder: (context, index) {
                    return Image.network(snapshot.data![index]);
                  });
            }
            return CircularProgressIndicator();
          },
        ));
  

【讨论】:

  • 我想在 Image.netwok( ) 中访问它?
  • 未来 fetchData() async{ http.Response response; response=await http.get("api.github.com/search/…); if (response.statusCode==200){ setState(() { mapResponse=json.decode(response.body); listOfFact=mapResponse['items']; } ) ; } } @override void initState() { fetchData(); // TODO: 实现 initState super.initState(); } children: [ Image.network(),
猜你喜欢
  • 1970-01-01
  • 2021-07-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多