错误:类型“ String”不是类型转换中类型“ List <dynamic>”的子类型

什拉达

我正在尝试显示来自Json数据的图表。从本地文件获取的Json数据。我不了解此错误,也未找到与此相关的任何解决方案。我该如何解决这个错误这是我的代码,

import 'package:flutter/material.dart';
import 'package:charts_flutter/flutter.dart' as charts;


class HomePage extends StatefulWidget {
  final Widget child;

  HomePage({Key key, this.child}) : super(key: key);

  _HomePageState createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> {
  List<charts.Series<Sales, String>> seriesBarData;

  _generateData() async {
    final decoded = await DefaultAssetBundle.of(context).loadString("asset/data.json") as List;

    seriesBarData.add(charts.Series(
      data:decoded,
      domainFn: (Sales sales, _) => sales.saleyear,
      measureFn: (Sales sales, _) => int.parse(sales.saleval),
      id: 'Performance',
    ));
  }

  @override
  void initState() {
    super.initState();
    seriesBarData = List<charts.Series<Sales, String>>();
    _generateData();
  }

  @override
  Widget build(BuildContext context) {
    return  Scaffold(
        appBar: AppBar(
          backgroundColor: Colors.cyan,
          title: Text('flutter charts'),
        ),
        body:  Column(
                    children: [
                      Text(
                        'Sales By Year',
                        style: TextStyle(
                            fontSize: 24.0, fontWeight: FontWeight.bold),
                      ),
                      SizedBox(
                        height: 10.0,
                      ),
                      Expanded(
                          child: charts.BarChart(
                            seriesBarData,
                            animate: true,
                            animationDuration: Duration(seconds: 5),
                          ),
                      ),
                    ],
                  ),
                );

  }
}

这是模型类,

class Sales {
      String saleyear;
      String saleval;


      // Add Constructor
      Sales(this.saleyear, this.saleval);
    }

我正在尝试从本地文件获取JSON数据。这是JSON文件,

[

  {
    "saleyear": "2015",
    "saleval": "10"
  },
  {
    "saleyear": "2016",
    "saleval": "30"
  },
  {
    "saleyear": "2017",
    "saleval": "50"
  },
  {
    "saleyear": "2018",
    "saleval": "10"
  }
]
Viren V Varasadiya

您必须解码json,然后必须创建销售对象。

我对您的代码做了很少的更改,希望对您有所帮助。

class HomePage extends StatefulWidget {
  final Widget child;

  HomePage({Key key, this.child}) : super(key: key);

  _HomePageState createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> {
  List<charts.Series<Sales, String>> seriesBarData;

  _generateData() async {
    final load =
        await DefaultAssetBundle.of(context).loadString("assets/delete.json");
    var decoded = json.decode(load);
    List<Sales> sales = [];
    for (var item in decoded) {
      sales.add(Sales.fromJson(item));
    }

    seriesBarData.add(charts.Series(
      data: sales,
      domainFn: (Sales sales, _) => sales.saleyear,
      measureFn: (Sales sales, _) => int.parse(sales.saleval),
      id: 'Performance',
    ));
    setState(() {});
  }

  @override
  void initState() {
    super.initState();
    seriesBarData = List<charts.Series<Sales, String>>();
    _generateData();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        backgroundColor: Colors.cyan,
        title: Text('flutter charts'),
      ),
      body: Column(
        children: [
          Text(
            'Sales By Year',
            style: TextStyle(fontSize: 24.0, fontWeight: FontWeight.bold),
          ),
          SizedBox(
            height: 10.0,
          ),
          seriesBarData.length > 0
              ? Expanded(
                  child: charts.BarChart(
                    seriesBarData,
                    animate: true,
                    animationDuration: Duration(seconds: 5),
                  ),
                )
              : Container(),
        ],
      ),
    );
  }
}

class Sales {
  String saleyear;
  String saleval;

  Sales(this.saleyear, this.saleval);

  Sales.fromJson(Map<String, dynamic> json) {
    saleyear = json['saleyear'];
    saleval = json['saleval'];
  }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

_InternalLinkedHashMap<String, dynamic>' 不是类型转换中类型 'List<dynamic>' 的子类型

来自分类Dev

类型“Future<dynamic>”不是类型转换中“List<dynamic>”类型的子类型

来自分类Dev

从api错误中获取Json错误未处理的异常:类型'_InternalLinkedHashMap <String,dynamic>'不是类型'List <dynamic>'的子类型

来自分类Dev

在Dart错误中:在带有Firestore的Flutter中,类型'List <dynamic>'不是类型'Map <String,dynamic>'的子类型

来自分类Dev

List <dynamic>'不是flutter中类型'FutureOr <List <>>的子类型

来自分类Dev

_CastError(类型'_InternalLinkedHashMap <dynamic,dynamic>'不是强制类型转换中'Map <String,dynamic>'类型的子类型)

来自分类Dev

_TypeError(类型'List <dynamic>'不是类型'List <Topic>'的子类型

来自分类Dev

'List <dynamic>'类型不是'Map <String'类型的子类型,在flutter应用程序中是动态的

来自分类Dev

错误类型'_InternalLinkedHashMap <String,dynamic>'不是'String'类型的子类型

来自分类Dev

Flutter应用程式中类型转换的例外类型'List <dynamic>'不是'List <int>'类型的子类型

来自分类Dev

错误:获取JSON时,List <dynamic>不是Map <String,dynamic>类型的子类型

来自分类Dev

Flutter错误:List <dynamic>不是Map <String,dynamic>类型的子类型

来自分类Dev

'List <dynamic>'类型不是'Widget'类型的子类型

来自分类Dev

'_InternalLinkedHashMap <dynamic,dynamic>'不是类型转换中'Map <String,dynamic>'类型的子类型

来自分类Dev

未处理的异常:类型'List <dynamic>'不是类型'Map <String,dynamic>'的子类型

来自分类Dev

_TypeError(类型'_InternalLinkedHashMap <String,dynamic>'不是类型'List <dynamic>'的子类型)

来自分类Dev

Flutter _TypeError(类型'List <dynamic>'不是类型'Map <String,dynamic>'的子类型)

来自分类Dev

未处理的异常:类型'List <dynamic>'不是类型'Map <String,dynamic>'的子类型

来自分类Dev

Flutter _TypeError 类型 'List<dynamic>' 不是类型 'Map<String, dynamic> 的子类型

来自分类Dev

未处理的异常:类型 'List<dynamic>' 不是类型 'Map<String, dynamic>' 的子类型

来自分类Dev

错误“_InternalLinkedHashMap<String, dynamic>”不是“Iterable<dynamic>”类型的子类型

来自分类Dev

fluuter:dart 类型 List<dynamic> 不是 list<Widget> 的子类型

来自分类Dev

Flutter:未处理的异常:类型'List <dynamic>'不是类型'List <String>'的子类型

来自分类Dev

Flutter String,dynamic'不是类型的子类型

来自分类Dev

如何解决:“ List <dynamic>”类型不是“ String”类型的子类型

来自分类Dev

未处理的异常:类型'List <dynamic>'不是类型'String'的子类型无法获取json数据

来自分类Dev

'_InternalLinkedHashMap <String,dynamic>'类型不是'String'类型的子类型

来自分类Dev

新增:类型'_InternalLinkedHashMap <String,dynamic>'不是类型'DocumentSnapshot'的子类型

来自分类Dev

类型'BehaviorSubject <dynamic>'不是'stream'的'Stream <String>'类型的子类型

Related 相关文章

  1. 1

    _InternalLinkedHashMap<String, dynamic>' 不是类型转换中类型 'List<dynamic>' 的子类型

  2. 2

    类型“Future<dynamic>”不是类型转换中“List<dynamic>”类型的子类型

  3. 3

    从api错误中获取Json错误未处理的异常:类型'_InternalLinkedHashMap <String,dynamic>'不是类型'List <dynamic>'的子类型

  4. 4

    在Dart错误中:在带有Firestore的Flutter中,类型'List <dynamic>'不是类型'Map <String,dynamic>'的子类型

  5. 5

    List <dynamic>'不是flutter中类型'FutureOr <List <>>的子类型

  6. 6

    _CastError(类型'_InternalLinkedHashMap <dynamic,dynamic>'不是强制类型转换中'Map <String,dynamic>'类型的子类型)

  7. 7

    _TypeError(类型'List <dynamic>'不是类型'List <Topic>'的子类型

  8. 8

    'List <dynamic>'类型不是'Map <String'类型的子类型,在flutter应用程序中是动态的

  9. 9

    错误类型'_InternalLinkedHashMap <String,dynamic>'不是'String'类型的子类型

  10. 10

    Flutter应用程式中类型转换的例外类型'List <dynamic>'不是'List <int>'类型的子类型

  11. 11

    错误:获取JSON时,List <dynamic>不是Map <String,dynamic>类型的子类型

  12. 12

    Flutter错误:List <dynamic>不是Map <String,dynamic>类型的子类型

  13. 13

    'List <dynamic>'类型不是'Widget'类型的子类型

  14. 14

    '_InternalLinkedHashMap <dynamic,dynamic>'不是类型转换中'Map <String,dynamic>'类型的子类型

  15. 15

    未处理的异常:类型'List <dynamic>'不是类型'Map <String,dynamic>'的子类型

  16. 16

    _TypeError(类型'_InternalLinkedHashMap <String,dynamic>'不是类型'List <dynamic>'的子类型)

  17. 17

    Flutter _TypeError(类型'List <dynamic>'不是类型'Map <String,dynamic>'的子类型)

  18. 18

    未处理的异常:类型'List <dynamic>'不是类型'Map <String,dynamic>'的子类型

  19. 19

    Flutter _TypeError 类型 'List<dynamic>' 不是类型 'Map<String, dynamic> 的子类型

  20. 20

    未处理的异常:类型 'List<dynamic>' 不是类型 'Map<String, dynamic>' 的子类型

  21. 21

    错误“_InternalLinkedHashMap<String, dynamic>”不是“Iterable<dynamic>”类型的子类型

  22. 22

    fluuter:dart 类型 List<dynamic> 不是 list<Widget> 的子类型

  23. 23

    Flutter:未处理的异常:类型'List <dynamic>'不是类型'List <String>'的子类型

  24. 24

    Flutter String,dynamic'不是类型的子类型

  25. 25

    如何解决:“ List <dynamic>”类型不是“ String”类型的子类型

  26. 26

    未处理的异常:类型'List <dynamic>'不是类型'String'的子类型无法获取json数据

  27. 27

    '_InternalLinkedHashMap <String,dynamic>'类型不是'String'类型的子类型

  28. 28

    新增:类型'_InternalLinkedHashMap <String,dynamic>'不是类型'DocumentSnapshot'的子类型

  29. 29

    类型'BehaviorSubject <dynamic>'不是'stream'的'Stream <String>'类型的子类型

热门标签

归档