我正在尝试将列表转换为Json并将此json发送到DB。
我的名单如下
List<DeviceInfo> deviceInfoList = [];
class DeviceInfo {
final String platform;
final String deviceModel;
final bool isPhysicalDevice;
final String deviceId;
final String imei;
final String meid;
final String platformVersion;
final String projectVersion;
final String projectCode;
final String projectAppID;
final String projectName;
DeviceInfo(
{this.platform,
this.platformVersion,
this.deviceModel,
this.isPhysicalDevice,
this.deviceId,
this.imei,
this.meid,
this.projectVersion,
this.projectCode,
this.projectAppID,
this.projectName});
}
我的列表包含String和boolean,我经历过this example,但不知道如何在该map函数中映射string和bool。 有人可以帮我吗?
答案 0 :(得分:1)
可帮助从JSON进行编码和解码的选项对:json_serializable包是一种为您生成的样板序列化/反序列化代码的好方法。在built_value中有如何使用它(和Flutter samples repo,功能强大,但使用起来更复杂)的示例。
答案 1 :(得分:1)
Map<String,dynamic> toJson(){
return {
"name": this.name,
"number": this.number,
"surname": this.surname,
};
}
static List encondeToJson(List<DeviceInfo>list){
List jsonList = List();
list.map((item)=>
jsonList.add(item.toJson())
).toList();
return jsonList;
}
List jsonList = Device.encondeToJson(deviceInfoList);
print("jsonList: ${jsonList}");
这是我记得的最短的方法。