flutter - 在 Dart Flutter 如何创建模型类以接收 JSON 中的空列表值
问题描述
我通过 API 从后端接收以下 JSON 值,如何创建其数据模型类
{
"accessories": {
"cameras": [],
"obds": [],
"screens": []
}
}
解决方案
要解析此 JSON 数据,请执行
最终模型 = modelFromMap(jsonString);
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)),
};
}
推荐阅读
- javascript - 如何使用 MomentJS 在 UTC 中获取具有明天日期和特定时间的日期对象?
- python - 将自定义函数应用于 numpy 中的 2 行或更多行(或列)
- reactjs - 已编辑表单的问题
- go - net/rpc .Call 与 .Go 有什么区别?
- jsf - ui中的selectBooleanCheckBox:repeat不调用监听器
- javascript - jQuery可拖动,即使我平移或缩放图像,如何将可拖动对象移动到正确位置
- android - 使用 smack 在消息应用程序中实现接收器状态(读取或输入) - Android
- ios - 取消控制器动画转换时不正确的preferredStatusBarStyle
- node.js - UnhandledPromiseRejectionWarning:TypeError:_base64Stream2.default.encode 不是函数
- sql - 在用户选择的特定表上运行一个 MS Access SQL 脚本