如何将数组转换为飞镖对象
Posted
技术标签:
【中文标题】如何将数组转换为飞镖对象【英文标题】:How to convert an array to a dart object 【发布时间】:2020-01-16 01:05:28 【问题描述】:我的 API 返回以下结构。如何将其转换为飞镖对象?
[
"stateName": "Alabama",
"stateAbbr": "AL"
,
"stateName": "Alaska",
"stateAbbr": "AK"
]
基本上,我想显示一个带有 stateName 值的颤振下拉框..
【问题讨论】:
How to convert Response JSON to Object in Flutter?的可能重复 【参考方案1】:这是一个地图列表。 首先创建一个 State 类:
class State
final String stateName;
final String stateAbbr;
State(
this.stateName,
this.stateAbbr,
) ;
factory State.fromJson(Map<String, dynamic> json)
return new State(
id: json['stateName'],
title: json['stateAbbr'],
);
然后是状态列表:
class StatesList
final List<State> States;
StatesList(
this.States,
);
factory StatesList.fromJson(List<dynamic> parsedJson)
List<State> States = new List<State>();
States = parsedJson.map((i)=>State.fromJson(i)).toList();
return new StatesList(
States: States,
);
更多信息请阅读this文章
【讨论】:
【参考方案2】: class State
String stateName;
String stateAbbr;
State(this.stateName, this.stateAbbr);
State.fromJson(Map<String, dynamic> json)
stateName = json['stateName'];
stateAbbr = json['stateAbbr'];
Map<String, dynamic> toJson()
final Map<String, dynamic> data = new Map<String, dynamic>();
data['stateName'] = this.stateName;
data['stateAbbr'] = this.stateAbbr;
return data;
这个网站可以将对象 JSON 转换为 Dart 类 https://javiercbk.github.io/json_to_dart/?fbclid=IwAR3i5zNWd3mwXJwHcUwAd47pxe25XOhPdhan6s_3CH1Cgb9Qic8az3UmZc4 你应该使用 然后创建您的对象列表
【讨论】:
当我尝试将该链接与我的 json 一起使用时出现错误。如您所见,我的 json 是一个对象数组 只需转换一个模型,然后在创建一个类后将您的模型列表作为属性以上是关于如何将数组转换为飞镖对象的主要内容,如果未能解决你的问题,请参考以下文章