当前位置: 首页 > 知识库问答 >
问题:

_TypeError(type'(动态)=>Null'不是f'的type'(String,动态)=>space'的子类型)

司寇善
2023-03-14

我不知道如何修正这个错误。

已发生异常。_TypeError(type'(动态)=

class _ShowformState extends State<Showform> {
  List<MaintenanceInfo> info = [];

  @override
  void initState() {
    super.initState();
    fetchData();
  }

  void fetchData() async {
    final data = await http.get('http://192.168.1.35:7000/');
    print(data.body);
    final jsonData = json.decode(data.body);
    setState(() {
      jsonData.forEach((v) {
        var tmpData = MaintenanceInfo.fromJson(v);
        info.add(tmpData);
      });
    });
  }

MaintenanceInfo maintenanceInfoFromJson(String str) =>
    MaintenanceInfo.fromJson(json.decode(str));

String maintenanceInfoToJson(MaintenanceInfo data) =>
    json.encode(data.toJson());

class MaintenanceInfo {
  MaintenanceInfo(
      {this.serial,
      this.model,
   });
  String serial;
  String model;

  factory MaintenanceInfo.fromJson(Map<String, dynamic> json) =>
      MaintenanceInfo(
        serial: json['serial'],
        model: json['model'],);

  Map<String, dynamic> toJson() => {
        'serial': serial,
        'model': model, };}

JSON格式看起来像这样

{ "data": [
    {
      "serial": "8850124003850",
      "model": "280",  
    },]
}

附言:我是颤振开发方面的新手。

共有1个答案

方玄天
2023-03-14

你的模型看起来有问题。你需要这样修改:


class MaintenanceInfo {
  List<Data> data;

  MaintenanceInfo({this.data});

  MaintenanceInfo.fromJson(Map<String, dynamic> json) {
    if (json['data'] != null) {
      data = new List<Data>();
      json['data'].forEach((v) {
        data.add(new Data.fromJson(v));
      });
    }
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    if (this.data != null) {
      data['data'] = this.data.map((v) => v.toJson()).toList();
    }
    return data;
  }
}

class Data {
  String serial;
  String model;

  Data({this.serial, this.model});

  Data.fromJson(Map<String, dynamic> json) {
    serial = json['serial'];
    model = json['model'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['serial'] = this.serial;
    data['model'] = this.model;
    return data;
  }
}

您可以使用此网站将JSON转换为Dart模型。

 类似资料:
  • 我刚刚试着分析firebase实时数据库中的数据。但在转换到模型时出现问题,我正在尝试解析来自Flatter上firebase数据库的数据。但是一个错误说 我的完整测验:{-M5-R3BqTajbCFk5mQuQ:{硬币: 434, isSubmit: true,问题:[{答案: sddsd,名称:我们为什么使用它?,选项:[建立, adwada, adawda, sddsd],选择:},{答案:

  • 如何将多个json对象添加/映射到dart对象 Json {“SLVO”:{“stats”:{“week52change”:0.047256,“week52high”:7.48,“week52low”:6.23,“marketcap”:null,“employees”:null,“day200MovingAvg”:6.88,“day50MovingAvg”:7.13,“float”:null,“a

  • 我们知道,type() 函数属于 Python 内置函数,通常用来查看某个变量的具体类型。其实,type() 函数还有一个更高级的用法,即创建一个自定义类型(也就是创建一个类)。 type() 函数的语法格式有 2 种,分别如下: type(obj)  type(name, bases, dict) 以上这 2 种语法格式,各参数的含义及功能分别是: 第一种语法格式用来查看某个变量(类对象)的具体

  • 因为类也是对象,所以我们可以在程序运行的时候创建类。 Python 是动态语言。 动态语言和静态语言最大的不同,就是函数和类的定义,不是编译时定义的,而是运行时动态创建的。 在之前,我们先了了解下 type() 函数。 首先我们新建一个 hello.py 的模块,然后定义一个 Hello 的 class , class Hello(object): def hello(self, name

  • 我未处理此错误异常:type'(动态)= 模型类 调用api的异步函数 Api的响应 更新代码

  • 本文向大家介绍Javascript 动态改变imput type属性,包括了Javascript 动态改变imput type属性的使用技巧和注意事项,需要的朋友参考一下 Javascript 动态改变imput type属性: 代码实现: HTML代码:  可以运行时动态改变imput元素的type属性值 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!