fromJson static method
convert from json return list of DiskLayoutInfo
Implementation
static List<DiskLayoutInfo> fromJson(Map<String, dynamic> json) {
Map<String, dynamic> diskLayoutData = json['disklayout'] ?? {};
List<DiskLayoutInfo> diskLayoutList = [];
if (diskLayoutData.isNotEmpty) {
for (var i = 0; i < diskLayoutData.length; i++) {
DiskLayoutInfo disk = DiskLayoutInfo(
bytesPerSector:
int.tryParse(diskLayoutData['$i']['BytesPerSector'].toString()) ??
0,
device: "",
firmwareRevision: diskLayoutData['$i']['FirmwareRevision'],
interfaceType: diskLayoutData['$i']['BusType']??'',
name: diskLayoutData['$i']['Caption'],
sectorsPerTrack: int.tryParse(
diskLayoutData['$i']['SectorsPerTrack'].toString()) ??
0,
serialNum: diskLayoutData['$i']['SerialNumber'],
size: int.tryParse(diskLayoutData['$i']['Size'].toString()) ?? 0,
smartStatus: diskLayoutData['$i']['Status'],
totalCylinders:
int.tryParse(diskLayoutData['$i']['TotalCylinders'].toString()) ??
0,
totalHeads:
int.tryParse(diskLayoutData['$i']['TotalHeads'].toString()) ?? 0,
totalSectors:
int.tryParse(diskLayoutData['$i']['TotalSectors'].toString()) ??
0,
totalTracks:
int.tryParse(diskLayoutData['$i']['TotalTracks'].toString()) ?? 0,
tracksPerCylinder: int.tryParse(
diskLayoutData['$i']['TracksPerCylinder'].toString()) ??
0,
type: diskLayoutData['$i']['MediaType']??'',
);
diskLayoutList.add(disk);
}
}
return diskLayoutList;
}