【发布时间】:2021-03-01 09:32:12
【问题描述】:
我对 Flutter 有点陌生,来自 .NET 世界。
在 .NET 中,我有类似 httpclient.GetFromJsonAsync<User> 的东西来执行 GET 并将其反序列化为 User 对象。
在 Flutter 中,我使用 Dio 并看到它们具有相似的外观方法,get<T>。然而,即使我使用get<List<User>> 或get<User>,它总是抛出运行时错误,即它无法将List<dynamic> 转换为List<User> 或Map 转换为User,尽管代码已成功编译。
final List<User> response = await Dio().get<List<User>>('urlThatReturnListOfUser');
有没有更好的方法或包来反序列化动态/映射到对象?
到目前为止我发现的最好的方法是使用 Json_Serializable,但即便如此,我仍然需要编写类似的东西
final List<User> weathers = (response.data as List)
.map((e) => User.fromJson(e as Map<String, dynamic>))
.toList();
每次我调用 API 时。或者这是我目前最好的选择?还是我用错了 Dio?
【问题讨论】:
标签: flutter dart json-deserialization dio