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
我有一个问题, 我有一个简单的模型 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