fromJson static method

List<DiskLayoutInfo> fromJson(
  1. Map<String, dynamic> json
)

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;
}