Dart “解决问题的最佳方法”;fromJson";在子类中的函数。飞镖语
我在dart的子类中遇到JSON转换问题。例如:Dart “解决问题的最佳方法”;fromJson";在子类中的函数。飞镖语,dart,Dart,我在dart的子类中遇到JSON转换问题。例如: class Person { String firstName; String lastName; Person({ this.firstName, this.lastName }) factory Person.fromJson(Map<String, dynamic> json){ return Person() ..firstName = json['
class Person {
String firstName;
String lastName;
Person({
this.firstName,
this.lastName
})
factory Person.fromJson(Map<String, dynamic> json){
return Person()
..firstName = json['firstName']
..lastName = json['firstName'];
}
}
class User extends Person {
String token;
User({
this.token
});
factory User.fromJson(Map<String, dynamic> json){
return User()
..token = json['token']
// The problem is here. I need dublicate code to fill parent
// class properties as first & last name of person:
..firstName = json['firstName']
..lastName = json['firstName'];
}
}
班级人员{
字符串名;
字符串lastName;
人({
这个名字,
这是我的姓
})
factory Person.fromJson(映射json){
返回人()
..firstName=json['firstName']
..lastName=json['firstName'];
}
}
类用户扩展Person{
字符串标记;
使用者({
这是代币
});
factory User.fromJson(映射json){
返回用户()
..token=json['token']
//问题就在这里。我需要复杂的代码来填充父级
//将属性分类为人员的名字和姓氏:
..firstName=json['firstName']
..lastName=json['firstName'];
}
}
我的问题是在这种情况下如何避免代码重复?请提供帮助。您可以在基类上创建一个方法,该方法接受
映射并填充自身的字段,然后从子类调用该方法。但是,我真的建议您使用类似的方法来为您生成此代码。它添加了一个额外的步骤(您需要运行pub-run-build\u-runner-build
或pub-run-build\u-runner-watch
来重新生成代码),但它避免了您必须手工编写所有这些内容。您可以在基类上创建一个方法,该方法接受映射
并填充自身的字段,然后从子类调用它。但是,我真的建议您使用类似的方法来为您生成此代码。它添加了一个额外的步骤(您需要运行pub-run-build\u-runner-build
或pub-run-build\u-runner-watch
,以重新生成代码),但它避免了您必须手工编写所有这些内容