amb*_*tuc 9 flutter json-serializable
我在 Flutter 中使用 json_serialized 将类存储在文件中并从中读回。为了简单起见,我不会在这里发布原始类,但原则是在编写应用程序的一半过程中,我决定将变量名称“aStupidName”更改为“name”。我如何建议代码生成实用程序将带有键“aStupidName”的 JSON 值(如果 JSON 中存在)分配给变量“name”,但如果存在键“name”,则将其分配给变量,即在文件的较新版本中?
嘿,我认为你可以做的是为模型中的同一字段提供多个 json 键注释。
@JsonSerializable()
class Person {
@JsonKey(name: 'name')
@JsonKey(name:'first_name')
final String firstName, lastName;
final DateTime? dateOfBirth;
Person({required this.firstName, required this.lastName, this.dateOfBirth});
factory Person.fromJson(Map<String, dynamic> json) => _$PersonFromJson(json);
Map<String, dynamic> toJson() => _$PersonToJson(this);
}
Run Code Online (Sandbox Code Playgroud)
或者,您可以给 json 键注释一个显式的fromJson参数,一个函数来完全控制该字段如何反序列化
| 归档时间: |
|
| 查看次数: |
7298 次 |
| 最近记录: |