在dart中访问json元素

时间:2019-02-17 03:31:32

标签: json dart flutter

我正在尝试使用dart访问json元素

我测试了一下json格式是什么。最初是这样的:(只是一个示例)

{
    "trails": [
        {
        "id": 7002454,
        "name": "Bidwell Park Tour",
        "location": "Chico, California",
        "longitude": -121.7919,
        "latitude": 39.7617,
        }
}

获取数据并解码后,我得到了Trails对象中包含的内容的字符串。然后,我对其进行编码以使其返回json并得到以下格式:

      [{
        "id": 7002454,
        "name": "Bidwell Park Tour",
        "location": "Chico, California",
        "longitude": -121.7919,
        "latitude": 39.7617,
        }]

这是到目前为止我尝试过的代码:

return ListView.builder(
        itemCount: trails.length,
        itemBuilder: (context, int index) {
       //string representation of the json returned, commented out to avoid 
       //errors in multiple returns
      //return Text( trails[index].trails.toString());
        //encoded back to json (not sure if I'm assigning it into the right 
        //variable type
        Object myText  = json.encode(trails[index].trails);
        List<Map> myText2 = json.decode(myText);

        return Text(myText2[0]['name']);

我目前拥有它的方式,正在返回:

     List<dynamic> is not a subtype of type List<Map<dynamic, dynamic>>. 

我不确定需要更改什么。如果有人想看看我在哪里获取数据,我可以发布更多代码。感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

List<Map>更改为List<dynamic>