Pan*_*rld 6 flutter json-serialization
我查看Order类示例,发现 Item 类未转换为 Map。
class Order {
int count;
int itemNumber;
bool isRushed;
Item item;
Map<String, dynamic> toJson() => _$OrderToJson(this);
}
Run Code Online (Sandbox Code Playgroud)
生成的 .g 文件具有以下内容:
Map<String, dynamic> _$OrderToJson(Order instance) {
...
writeNotNull('item', instance.item);
...
return val;
}
Run Code Online (Sandbox Code Playgroud)
订单地图中的项目仍然是项目类型,但我希望它也能自动转换为地图。生成的 .g 文件应该有这样的内容
writeNotNull('item', instance.item.toJson());
Run Code Online (Sandbox Code Playgroud)
我不想手动添加它,因为重新生成 .g 文件时它将被覆盖。为什么 json_serialized lib 没有做这么简单的事情,或者我错过了什么?谢谢。
对于 firebase 你也需要这个any_map选项,因为 firebase 的地图<dynamic, dynamic>否则它会期望<String, dynamic>
在 flutter 项目的根目录中创建此文件build.yaml,默认情况下它不存在。
targets:
$default:
builders:
json_serializable:
options:
any_map: true
explicit_to_json: true
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5359 次 |
| 最近记录: |