如何从渲染器中的列表访问对象键?

时间:2019-04-03 05:29:03

标签: arrays object dart flutter key

我是dart的新手,我正在尝试从列表中的对象访问密钥。我可能是错的,但是我总是收到类型错误,说未为类对象定义name

这是我的清单。

  List<Object> _nbaPlayerList = [
    {
    "name": "Lebron James",
    "pts": 27.2,
    "assist": 7.4,
    "rebound":7.4,
    "fg%":50.4
    },
    {
    "name": "Kevin Durant",
    "pts": 27.1,
    "assist": 4.1,
    "rebound":7.1,
    "fg%":49.2
    },
  ];

这就是我要呈现的内容

Column(children: _nbaPlayerList
 .map((element ) => 
   Card(
    child: Column(
     children: <Widget>[
       Image.asset("assets/lebron_james.jpg"),
        Text(element.name)
       ],
      ),
     ),
    ).toList(),
   ),  

如何在数组对象中添加名称键?

1 个答案:

答案 0 :(得分:1)

您需要对列表中的类型稍作更改,将其更改为:

List<Map<String, dynamic>> _nbaPlayerList

在dart中,JSON可以用String和dynamic之间的映射表示。因此,现在您有了一个带有JSON的列表,并且可以访问如下字段:

element["name"]