【问题标题】:How to handle unused parameter from api in flutter?如何在flutter中处理来自api的未使用参数?
【发布时间】:2022-09-27 14:59:23
【问题描述】:

我对 Dropdown 的要求只有名称和 id,如果我没有将所有参数包含到文件 id 中,则不会解析对象。它抛出 gson 错误。 如何创建一个对象来处理 Flutter 中 API 响应中不需要的参数的响应。

 import \'package:meta/meta.dart\';
    import \'dart:convert\';
    
    class Customer {
        Customer({
            @required this.data,
            @required this.status,
        });
    
        List<Datum> data;
        int status;
    
        factory Customer.fromRawJson(String str) => Customer.fromJson(json.decode(str));
    
        String toRawJson() => json.encode(toJson());
    
        factory Customer.fromJson(Map<String, dynamic> json) => Customer(
            data: json[\"data\"] == null ? null : List<Datum>.from(json[\"data\"].map((x) => Datum.fromJson(x))),
            status: json[\"status\"] == null ? null : json[\"status\"],
        );
    
        Map<String, dynamic> toJson() => {
            \"data\": data == null ? null : List<dynamic>.from(data.map((x) => x.toJson())),
            \"status\": status == null ? null : status,
        };
    }
    
    class Datum {
        Datum({
            @required this.id,
            @required this.name,
            @required this.contactPersonName,
            @required this.mobileNo,
            @required this.whatsAppNo,
            @required this.user,
            @required this.address,
            @required this.gstNo,
            @required this.creaditPeriod,
            @required this.note,
            @required this.created,
            @required this.modified,
            @required this.contactPersonEmail,
        });
    
        String id;
        String name;
        dynamic contactPersonName;
        dynamic mobileNo;
        dynamic whatsAppNo;
        dynamic user;
        dynamic address;
        dynamic gstNo;
        dynamic creaditPeriod;
        dynamic note;
        dynamic created;
        dynamic modified;
        dynamic contactPersonEmail;
    
        factory Datum.fromRawJson(String str) => Datum.fromJson(json.decode(str));
    
        String toRawJson() => json.encode(toJson());
    
        factory Datum.fromJson(Map<String, dynamic> json) => Datum(
            id: json[\"id\"] == null ? null : json[\"id\"],
            name: json[\"name\"] == null ? null : json[\"name\"],
            contactPersonName: json[\"contactPersonName\"],
            mobileNo: json[\"mobileNo\"],
            whatsAppNo: json[\"whatsAppNo\"],
            user: json[\"user\"],
            address: json[\"address\"],
            gstNo: json[\"gstNo\"],
            creaditPeriod: json[\"creaditPeriod\"],
            note: json[\"note\"],
            created: json[\"created\"],
            modified: json[\"modified\"],
            contactPersonEmail: json[\"contactPersonEmail\"],
        );
    
        Map<String, dynamic> toJson() => {
            \"id\": id == null ? null : id,
            \"name\": name == null ? null: name,
            \"contactPersonName\": contactPersonName,
            \"mobileNo\": mobileNo,
            \"whatsAppNo\": whatsAppNo,
            \"user\": user,
            \"address\": address,
            \"gstNo\": gstNo,
            \"creaditPeriod\": creaditPeriod,
            \"note\": note,
            \"created\": created,
            \"modified\": modified,
            \"contactPersonEmail\": contactPersonEmail,
        };
    }

知道如何仅使用 id 和 name 参数创建小对象。

    标签: json flutter api


    【解决方案1】:

    只需将您需要的参数从 json 包含到模型中。 例如:

      class Datum { 
    final String name;
    final String id;
    Datum({this.name,this.id});
    }
    

    【讨论】:

      猜你喜欢
      • 2021-08-07
      • 1970-01-01
      • 2022-11-28
      • 1970-01-01
      • 2021-03-26
      • 2019-05-22
      • 1970-01-01
      • 1970-01-01
      • 2019-03-22
      相关资源
      最近更新 更多