【问题标题】:How to convert json array to model class in flutter dart/如何在flutter dart/中将json数组转换为模型类
【发布时间】:2022-01-20 21:25:42
【问题描述】:
{
    "feed": {
        "entry": [
            {
                "im:name": {
                    "label": "The Rise"
                },
                "im:image": [
                    {
                        "label": "https://cover.jpg/55x55bb.png"
                    }
                ]
            }
        ]
    }
}

任何人都可以帮助我如何为此响应创建一个飞镖类。我也尝试了许多在线转换器。但是当我实时实现该代码时显示出很多错误。

【问题讨论】:

    标签: arrays json flutter model


    【解决方案1】:

    这里:

    class Model {
      Feed? feed;
    
      Model({this.feed});
    
      Model.fromJson(Map<String, dynamic> json) {
        feed = json['feed'] != null ? new Feed.fromJson(json['feed']) : null;
      }
    
      Map<String, dynamic> toJson() {
        final Map<String, dynamic> data = new Map<String, dynamic>();
        if (this.feed != null) {
          data['feed'] = this.feed!.toJson();
        }
        return data;
      }
    }
    
    class Feed {
      List<Entry>? entry;
    
      Feed({this.entry});
    
      Feed.fromJson(Map<String, dynamic> json) {
        if (json['entry'] != null) {
          entry = <Entry>[];
          json['entry'].forEach((v) {
            entry!.add(new Entry.fromJson(v));
          });
        }
      }
    
      Map<String, dynamic> toJson() {
        final Map<String, dynamic> data = new Map<String, dynamic>();
        if (this.entry != null) {
          data['entry'] = this.entry!.map((v) => v.toJson()).toList();
        }
        return data;
      }
    }
    
    class Entry {
      ImName? imName;
      List<ImImage>? imImage;
    
      Entry({this.imName, this.imImage});
    
      Entry.fromJson(Map<String, dynamic> json) {
        imName =
            json['im:name'] != null ? new ImName.fromJson(json['im:name']) : null;
        if (json['im:image'] != null) {
          imImage = <ImImage>[];
          json['im:image'].forEach((v) {
            imImage!.add(new ImImage.fromJson(v));
          });
        }
      }
    
      Map<String, dynamic> toJson() {
        final Map<String, dynamic> data = new Map<String, dynamic>();
        if (this.imName != null) {
          data['im:name'] = this.imName!.toJson();
        }
        if (this.imImage != null) {
          data['im:image'] = this.imImage!.map((v) => v.toJson()).toList();
        }
        return data;
      }
    }
    
    class ImName {
      String? label;
    
      ImName({this.label});
    
      ImName.fromJson(Map<String, dynamic> json) {
        label = json['label'];
      }
    
      Map<String, dynamic> toJson() {
        final Map<String, dynamic> data = new Map<String, dynamic>();
        data['label'] = this.label;
        return data;
      }
    }
    
    

    Json To Dart 有效。

    【讨论】:

    • 感谢您的回复。但实际上,当我将此代码粘贴到飞镖类中时。 v.toJson() 显示错误 --> data['im:image'] = this.imImage!.map((v) => v.toJson()).toList();
    • 我不太明白,它会抛出什么错误?
    • 对不起,实际上错误发生在 --> data['feed'] = feed!.toJson();
    猜你喜欢
    • 2022-01-08
    • 1970-01-01
    • 2020-11-10
    • 1970-01-01
    • 1970-01-01
    • 2021-06-21
    • 1970-01-01
    • 2021-04-06
    • 2021-11-05
    相关资源
    最近更新 更多