简体   繁体   English

如何防止序列化为 Json 空值?

[英]How to prevent serialization to Json null values?

I have got class that have toJson method.我有具有toJson方法的课程。

class SearchFormModel {
  
    List<String>? purchaseNumbersList;
    List<String>? regionsSelectedNames; 
    
    SearchFormModel( {
      this.purchaseNumbersList,
      this.regionsSelectedNames
    }
    );


    Map toJson() => {
      'purchaseNumbersList': purchaseNumbersList,
      'regionsNames': regionsSelectedNames
    };

}

I want to prevent adding fields with null values to Json.我想防止向 Json 添加具有null值的字段。

For example if purchaseNumbersList is null it should not be added to result JSON.例如,如果purchaseNumbersListnull ,则不应将其添加到结果 JSON。

How to do it in Dart?如何在 Dart 中做到这一点?

You can use collection if to optionally include a key/value pair in a map literal. 如果可以选择在映射文字中包含键/值对,则可以使用集合

class SearchFormModel {
  List<String>? purchaseNumbersList;
  List<String>? regionsSelectedNames; 
    
  SearchFormModel({
    this.purchaseNumbersList,
    this.regionsSelectedNames
  });

  Map toJson() => {
    if (purchaseNumbersList != null) 'purchaseNumbersList': purchaseNumbersList,
    if (regionsSelectedNames != null) 'regionsNames': regionsSelectedNames,
  };
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM