Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 在Dart Flatter中,如何为JSON中接收的空列表值创建模型类_Flutter_Dart - Fatal编程技术网

Flutter 在Dart Flatter中,如何为JSON中接收的空列表值创建模型类

Flutter 在Dart Flatter中,如何为JSON中接收的空列表值创建模型类,flutter,dart,Flutter,Dart,我从backend over API收到以下JSON值,如何创建其数据模型类 { "accessories": { "cameras": [], "obds": [], "screens": [] } } 要解析此JSON数据,请执行以下操作 最终模型=modelFromMap(jsonString) 导入'dart:convert

我从backend over API收到以下JSON值,如何创建其数据模型类

   {
     "accessories": {
        "cameras": [],
        "obds": [],
        "screens": []
      }
    }

要解析此JSON数据,请执行以下操作

最终模型=modelFromMap(jsonString)

导入'dart:convert';
类模型{
模型({
这个,配件,
});
配件;
factory Model.fromJson(String str)=>Model.fromMap(json.decode(str));
字符串toJson()=>json.encode(toMap());
工厂模型.fromMap(MapJSON)=>Model(
附件:附件.fromMap(json[“附件]),
);
映射toMap()=>{
“附件”:附件.toMap(),
};
}
类配件{
配件({
这个,摄像机,
这是obds,
这个屏幕,
});
列出摄像机;
列出OBD;
列出屏幕;
factory Accessories.fromJson(String str)=>Accessories.fromMap(json.decode(str));
字符串toJson()=>json.encode(toMap());
工厂配件。fromMap(Map json)=>配件(
摄像机:List.from(json[“摄像机”].map((x)=>x)),
obds:List.from(json[“obds”].map((x)=>x)),
screens:List.from(json[“screens”].map((x)=>x)),
);
映射toMap()=>{
“摄影机”:列表.from(cameras.map((x)=>x)),
“obds”:列表从(obds.map((x)=>x)),
“屏幕”:列表从(屏幕映射((x)=>x)),
};
}

要解析此JSON数据,请执行以下操作

最终模型=modelFromMap(jsonString)

导入'dart:convert';
类模型{
模型({
这个,配件,
});
配件;
factory Model.fromJson(String str)=>Model.fromMap(json.decode(str));
字符串toJson()=>json.encode(toMap());
工厂模型.fromMap(MapJSON)=>Model(
附件:附件.fromMap(json[“附件]),
);
映射toMap()=>{
“附件”:附件.toMap(),
};
}
类配件{
配件({
这个,摄像机,
这是obds,
这个屏幕,
});
列出摄像机;
列出OBD;
列出屏幕;
factory Accessories.fromJson(String str)=>Accessories.fromMap(json.decode(str));
字符串toJson()=>json.encode(toMap());
工厂配件。fromMap(Map json)=>配件(
摄像机:List.from(json[“摄像机”].map((x)=>x)),
obds:List.from(json[“obds”].map((x)=>x)),
screens:List.from(json[“screens”].map((x)=>x)),
);
映射toMap()=>{
“摄影机”:列表.from(cameras.map((x)=>x)),
“obds”:列表从(obds.map((x)=>x)),
“屏幕”:列表从(屏幕映射((x)=>x)),
};
}

摄像机、OBD和屏幕是字符串数组吗?给定的JSON不完整。摄影机、OBD和屏幕是否为字符串数组?给定的JSON不完整。只需获取完整的JSON并将其粘贴到,就可以使用它为大多数流行语言生成模型类。只需确保JSON具有有效的数据而不是空数组或对象。您可以考虑使用BufftTyValk包:只需获取完整的JSON并粘贴它,就可以使用它生成最流行的语言的模型类。只需确保JSON具有有效的数据而不是空数组或对象。您可以考虑使用BufftTyValk包:
import 'dart:convert';

class Model {
    Model({
        this.accessories,
    });

    Accessories accessories;

    factory Model.fromJson(String str) => Model.fromMap(json.decode(str));

    String toJson() => json.encode(toMap());

    factory Model.fromMap(Map<String, dynamic> json) => Model(
        accessories: Accessories.fromMap(json["accessories"]),
    );

    Map<String, dynamic> toMap() => {
        "accessories": accessories.toMap(),
    };
}

class Accessories {
    Accessories({
        this.cameras,
        this.obds,
        this.screens,
    });

    List<dynamic> cameras;
    List<dynamic> obds;
    List<dynamic> screens;

    factory Accessories.fromJson(String str) => Accessories.fromMap(json.decode(str));

    String toJson() => json.encode(toMap());

    factory Accessories.fromMap(Map<String, dynamic> json) => Accessories(
        cameras: List<dynamic>.from(json["cameras"].map((x) => x)),
        obds: List<dynamic>.from(json["obds"].map((x) => x)),
        screens: List<dynamic>.from(json["screens"].map((x) => x)),
    );

    Map<String, dynamic> toMap() => {
        "cameras": List<dynamic>.from(cameras.map((x) => x)),
        "obds": List<dynamic>.from(obds.map((x) => x)),
        "screens": List<dynamic>.from(screens.map((x) => x)),
    };
}