【发布时间】:2021-12-23 16:45:04
【问题描述】:
我想设置获取表单 API 的电影/电视信息值,但是某些 JSON 键不同,但值类型相同,差异并没有太大,为此创建另一个模型,所以我想继续使用 main model 班级。
例如,title 是 movie 的键,但 TV 是 JSON 中的 name 键,以及其他一些不同的键。
我尝试通过检查来解决它,但它不起作用:
final String? title;
factory Result.fromJson(Map<String, dynamic> json) => Result(
title: json["title"] == Null ? json["name"] : json["title"],
...
)
正如我提到的那样,Movie 的工作,但 TV 的工作将不起作用,显示错误:
Unhandled Exception: type 'Null' is not a subtype of type 'String'
这个方法我也试过了,但是两个部分都不行:
title: json["name"] ?? json["title"]
如何使用灵活键进行初始化?
【问题讨论】:
-
我认为关键字是
null(区分大小写) -
让我们试试这个
json["title"] == null ? json["name"] : json["title"],