我正在尝试使用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>>.
我不确定需要更改什么。如果有人想看看我在哪里获取数据,我可以发布更多代码。感谢您的帮助。
答案 0 :(得分:1)
将List<Map>
更改为List<dynamic>