flutter - 以全局方式将骆驼案转换为蛇案
问题描述
有没有办法将字段转换为蛇形以用于映射来自飞镖中休息调用的响应?
意思是我在一个地方声明我希望在snake_case中发生映射,而不必为我创建的每个模型都提及它?
寻找类似于我们如何通过Java中的ObjectMapper和PropertyNamingStrategy.SNAKE_CASE实现这一点的东西。
在颤动中进行休息调用(遵循蛇形外壳),并且只有在我以蛇形大小写格式命名字段时才能映射。
尝试了以下没有任何区别并最终得到空值的方法。
class FeatureResponse {
@JsonValue("trending_posters") // tried this from json_annotation package
List<Poster> trendingPosters;
FeatureResponse({this.trendingPosters});
factory FeatureResponse.fromJson(Map<String, dynamic> data) => _$FeatureResponseFromJson(data);
Map<String, dynamic> toJson() => _$FeatureResponseToJson(this);
}
或者,有一个包dart_json_mapper可以帮助这个蛇案例映射。
但这与用于为上述对象自动生成零件文件的json_annotation包冲突。
有没有解决的办法?最好不需要额外的包。请指教。
作为参考,以下内容可行,但不热衷于在蛇案例中命名字段以支持这一点。
class FeatureResponse {
List<Poster> trending_posters;
FeatureResponse({this.trending_posters});
factory FeatureResponse.fromJson(Map<String, dynamic> data) => _$FeatureResponseFromJson(data);
Map<String, dynamic> toJson() => _$FeatureResponseToJson(this);
}
解决方案
推荐阅读
- mysql - 用于创建课程列表的 SQL 查询。通过...分组?
- python - 如何根据平均值为像素分配颜色
- python - Pandas .apply():如何在 apply() 中使用涉及同一列中前面单元格的值的公式?
- python - NoReverseMatch 但我传递了所有参数
- html - 在桌面上强制移动视图
- swift - 你如何将对象数组保存到领域,斯威夫特?
- python - 使用 Twisted 记录器时可以延迟日志文件的轮换吗?
- asp.net-core - 如何在 MVC 核心视图中将当前选择值传递给路由 id
- shopify - 当 .btn 仅定义类时,Shopify 将 .text-link 类添加到按钮
- data-structures - 链表中的相邻节点交换但在输出 1 节点丢失