【问题标题】:Initialize with flexible keys in fromJson使用 fromJson 中的灵活键进行初始化
【发布时间】:2021-12-23 16:45:04
【问题描述】:

我想设置获取表单 API 的电影/电视信息值,但是某些 JSON 键不同,但值类型相同,差异并没有太大,为此创建另一个模型,所以我想继续使用 main model 班级。

例如,titlemovie 的键,但 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"],

标签: flutter api dart


【解决方案1】:

Null不是字符串类型,可以用null查看

json["title"] == null ? json["name"] : json["title"],

【讨论】:

猜你喜欢
  • 2020-07-18
  • 1970-01-01
  • 2015-09-01
  • 1970-01-01
  • 2014-06-12
  • 2019-02-17
  • 2020-12-13
  • 2017-06-14
  • 2021-09-03
相关资源
最近更新 更多