[英]Flutter : How can i achieve this in flutter?
[{serialNumber: VNPT29102021, modelName: GW040H, deviceMac: d4:9a:a0:91:55:c8, deviceType: 3, deviceTypeName: ONTMESH, ipAddr: 192.168.1.1, deviceList: [{modelName: EW12ST000T0004, deviceMac: cc: 71:90:4a:24:f4,序列號:1291111264A24F2,ipAddr:192.168.1.3,deviceType:1},{modelName:EW12ST000T0004,deviceMac:cc:71:90:4a:25:08,serialNumber:1291111264A2506,ipAddr: 192.168.1.4,設備類型:2}],authenString:,dbVersion:1,cookies:}]
我有一個類似上面的列表。 如何在此列表中獲取“modelName”?
首先,這不是一個有效的 dart 列表。 如果列表如下所示,您可以像這樣訪問 modelName:
final list = [{"modelName": "GW040H",}];
final modelName = list[0]["modelName"]
;
將 json 轉換為 model
class Model {
String? serialNumber;
String? modelName;
String? deviceMac;
int? deviceType;
String? deviceTypeName;
String? ipAddr;
List<DeviceList>? deviceList;
String? authenString;
int? dbVersion;
String? cookies;
Model(
{this.serialNumber,
this.modelName,
this.deviceMac,
this.deviceType,
this.deviceTypeName,
this.ipAddr,
this.deviceList,
this.authenString,
this.dbVersion,
this.cookies});
Model.fromJson(Map<String, dynamic> json) {
serialNumber = json['serialNumber'];
modelName = json['modelName'];
deviceMac = json['deviceMac'];
deviceType = json['deviceType'];
deviceTypeName = json['deviceTypeName'];
ipAddr = json['ipAddr'];
if (json['deviceList'] != null) {
deviceList = <DeviceList>[];
json['deviceList'].forEach((v) {
deviceList!.add(DeviceList.fromJson(v));
});
}
authenString = json['authenString'];
dbVersion = json['dbVersion'];
cookies = json['cookies'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = <String, dynamic>{};
data['serialNumber'] = serialNumber;
data['modelName'] = modelName;
data['deviceMac'] = deviceMac;
data['deviceType'] = deviceType;
data['deviceTypeName'] = deviceTypeName;
data['ipAddr'] = ipAddr;
if (deviceList != null) {
data['deviceList'] = deviceList!.map((v) => v.toJson()).toList();
}
data['authenString'] = authenString;
data['dbVersion'] = dbVersion;
data['cookies'] = cookies;
return data;
}
}
class DeviceList {
String? modelName;
String? deviceMac;
String? serialNumber;
String? ipAddr;
int? deviceType;
DeviceList(
{this.modelName,
this.deviceMac,
this.serialNumber,
this.ipAddr,
this.deviceType});
DeviceList.fromJson(Map<String, dynamic> json) {
modelName = json['modelName'];
deviceMac = json['deviceMac'];
serialNumber = json['serialNumber'];
ipAddr = json['ipAddr'];
deviceType = json['deviceType'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = <String, dynamic>{};
data['modelName'] = modelName;
data['deviceMac'] = deviceMac;
data['serialNumber'] = serialNumber;
data['ipAddr'] = ipAddr;
data['deviceType'] = deviceType;
return data;
}
}
您可以在 deviceList 中獲取modelName
:
Model.deviceList[0].modelName
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.