【问题标题】: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 值的颤振下拉框..

【问题讨论】:

标签: flutter dart


【解决方案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 是一个对象数组
    • 只需转换一个模型,然后在创建一个类后将您的模型列表作为属性
    猜你喜欢
    • 1970-01-01
    • 2021-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-18
    • 2021-04-15
    • 1970-01-01
    • 2019-08-13
    相关资源
    最近更新 更多