如何将JSON解码为模型对象列表

时间:2019-07-06 13:38:33

标签: json flutter dart

我正在使用以下代码解码JSON http响应模型对象列表。一切正常,但是我问我如何将代码重写为

  1. 不使用类型转换为“作为列表”
  2. 将“动态”类型替换为更具体的类型“ CodeModel”
autossh

1 个答案:

答案 0 :(得分:0)

通常,您应该避免在分析器可以为您找出明显的静态类型的地方输入

您可以将代码替换为:

  final codes =
      json.decode(response.body).map<CodeModel>((m) => CodeModel.fromJson(m)).toList();

  print(codes.runtimeType);

无需指定codes的类型-可以推断出来。

.map更改为.map<CodeModel>告诉分析器,lambda将返回CodeModel,因此toList将产生它们的列表。

打印行将按预期打印List<CodeModel>