[英]How to parse json when an attribute might have two types in dart
我正在使用相同的 model 来解析 2 个 json 响应,
在一个响应中,属性user
是字符串类型,而在另一个响应中, user
是 object。
在这种情况下我该如何解析? 我试过了,
CampaignProductDetails.fromJson(Map<String, dynamic> json) {
user= json['user'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['user'] = this.user;
return data;
}
但是当user
是 object 时,它会显示 _typeError。 我该如何整理? 我需要为这个单一属性创建一个新的 model 吗?
您可以在 Dart 中使用is
运算符
CampaignProductDetails.fromJson(Map<String, dynamic> json) {
user= json['user'] == null ? null : (json['user'] is String ? json['user'] : this.user;
}
作为替代方案,在 Dart 中,每个 object 都有一个runtimeType
实例成员,它在运行时返回 object 的类型(我不建议在生产中使用它,在某处读到它只是)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.