A JsonSerializer
interface for any model that is serializable (to Map<String, dynamic>
and back).
Usage
class MyModel{
final String myProperty;
MyModel({required this.myProperty});
}
class MySerializer implements JsonSerializer<MyModel>{
Map<String, dynamic> toJson(MyModel data) => {
"myProperty": data.myProperty
};
MyModel fromJson(Map<String, dynamic> json)
=> MyModel(myProperty: json["myProperty"] ?? "");
}
// use the serializer
final Map<String, dynamic> json = fetchFromDb();
final MyModel = MySerializer().fromJson(json);