json 可序列化:变量在模型 class 中声明但在 json 中不存在

json serializable: variables declared in model class but does not exist in json

我有一个问题, 我有一个简单的模型 class,它的变量很少,但是其中一个变量不一定一直存在。 但是 JsonSerializable 不会将 json 转换为模型对象,如果该键在 json 数据中不可用。

示例代码-

import "package:json_annotation/json_annotation.dart";

part "address.g.dart";

@JsonSerializable()
class Address {
  final String country_code, state, city, street_line1, street_line2, post_code;

  Address(this.country_code, this.state, this.city, this.street_line1,
      this.street_line2, this.post_code);

  factory Address.fromJson(Map<String, dynamic> json) =>
      _$AddressFromJson(json);

  Map<String, dynamic> toJson() => _$AddressToJson(this);
}

如您所见,它是一个模型 class,但 street_line2 并不总是存在。 json serializable 如果不存在则不起作用。

使用“?”对于模型中可为空的变量

像这样:字符串?那么它可以为 null