如何在颤振/飞镖的多级下拉菜单中使用此 Json
Posted
技术标签:
【中文标题】如何在颤振/飞镖的多级下拉菜单中使用此 Json【英文标题】:How to use this Json inside a Multi level drop Down Menu in flutter/dart 【发布时间】:2021-12-24 13:03:38 【问题描述】:
"cars":
"Nissan": [
"model": "Sentra", "doors":4,
"model": "Maxima", "doors":4,
"model": "Skyline", "doors":2
],
"Ford": [
"model": "Taurus", "doors":4,
"model": "Escort", "doors":4
]
我想将 json 解析为类对象并在多级下拉列表中使用它。我正在努力在下拉菜单按钮内进行映射
【问题讨论】:
【参考方案1】:这是您的数据的模型类,借助 fromJson 函数,您可以将您的 json 数据转换为类对象,并可以根据模型类的结构访问它。
模型类生成Link
class CarsData
Cars cars;
CarsData(this.cars);
CarsData.fromJson(Map<String, dynamic> json)
cars = json['cars'] != null ? new Cars.fromJson(json['cars']) : null;
Map<String, dynamic> toJson()
final Map<String, dynamic> data = new Map<String, dynamic>();
if (this.cars != null)
data['cars'] = this.cars.toJson();
return data;
class Cars
List<Nissan> nissan;
List<Ford> ford;
Cars(this.nissan, this.ford);
Cars.fromJson(Map<String, dynamic> json)
if (json['Nissan'] != null)
nissan = new List<Nissan>();
json['Nissan'].forEach((v)
nissan.add(new Nissan.fromJson(v));
);
if (json['Ford'] != null)
ford = new List<Ford>();
json['Ford'].forEach((v)
ford.add(new Ford.fromJson(v));
);
Map<String, dynamic> toJson()
final Map<String, dynamic> data = new Map<String, dynamic>();
if (this.nissan != null)
data['Nissan'] = this.nissan.map((v) => v.toJson()).toList();
if (this.ford != null)
data['Ford'] = this.ford.map((v) => v.toJson()).toList();
return data;
class Nissan
String model;
int doors;
Nissan(this.model, this.doors);
Nissan.fromJson(Map<String, dynamic> json)
model = json['model'];
doors = json['doors'];
Map<String, dynamic> toJson()
final Map<String, dynamic> data = new Map<String, dynamic>();
data['model'] = this.model;
data['doors'] = this.doors;
return data;
【讨论】:
感谢您的回复,我需要帮助才能在多级下拉菜单中使用这些数据类。你能帮忙吗 你能给我看看你的多级下拉 UI 示例吗?以上是关于如何在颤振/飞镖的多级下拉菜单中使用此 Json的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Bootstrap 4 和 Angular 7 在导航栏中制作多级下拉菜单