gpt4 book ai didi

flutter - 无法显示数据到图表- 'List'不是 'Map'类型的子类型

转载 作者:行者123 更新时间:2023-12-03 02:52:44 24 4
gpt4 key购买 nike

我正在尝试从json数据显示图表,我正在使用charts_flutter: ^0.7.0

这是我的json

[
{
"tanggal": 1,
"total": 1677765
},
{
"tanggal": 2,
"total": 0
},
{
"tanggal": 3,
"total": 779920
},
]

这是我的工作
FutureBuilder(
future: _getData(),
builder: (BuildContext context,AsyncSnapshot snapshot){
if (snapshot.connectionState == ConnectionState.waiting &&
snapshot.hasError == false) {
return Center(child: CircularProgressIndicator(),);
} another condition
else {
return new charts.PieChart(
dataList(snapshot.data),
defaultRenderer: new charts.ArcRendererConfig(
arcRendererDecorators: [new charts.ArcLabelDecorator()])
);
}

}
),

然后这是 _getData(),我尝试在其中建立图表
_getData(String tahun, String bulan, String Outlet) async{
final response = await http.get(Configuration.url + "api/cartData/"+tahun+"/"+bulan+"/"+Outlet);
print(Configuration.url + "api/cartData/"+tahun+"/"+bulan+"/"+Outlet);
Map<dynamic,dynamic> map = json.decode(response.body);
return map;
}

static List<charts.Series<LinearSales, int>> dataList(Map<dynamic, dynamic> apiData) {
List<LinearSales> list = new List();
for(int i=0; i<apiData.length; i++)
list.add(new LinearSales(i, apiData[i]));
return [
new charts.Series<LinearSales, int>(
id: 'Sales',
domainFn: (LinearSales sales, _) => sales.day,
measureFn: (LinearSales sales, _) => sales.sales,
data: list,
labelAccessorFn: (LinearSales row, _) => '${row.day}: ${row.sales}',
)
];
}

但是当我运行它时我得到了

type 'List' is not a subtype of type 'Map'



我该如何解决?我错过了什么 ?

最佳答案

更改此:

 Map<dynamic,dynamic> map = json.decode(response.body);

到这个:
 Iterable data = json.decode(response.body);
List<dynamic> list = data.toList();

然后更改此:
  static List<charts.Series<LinearSales, int>> dataList(Map<dynamic, dynamic> apiData) {

到这个:
  static List<charts.Series<LinearSales, int>> dataList(List<dynamic> apiData) {

关于flutter - 无法显示数据到图表- 'List'不是 'Map'类型的子类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59838644/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com