📜  flutter json 序列化命令 (1)

📅  最后修改于: 2023-12-03 15:00:47.850000             🧑  作者: Mango

Flutter JSON序列化命令

在Flutter应用程序中,我们必须与API进行通信,而API返回的响应往往是JSON格式的数据。因此,Flutter提供了一种JSON序列化库,可以将JSON响应转换为对象以方便存储和在应用程序中使用。

安装
flutter pub add json_serializable
使用
  1. 在需要序列化的类上添加注解@JsonSerializable()
@JsonSerializable()
class Person {
  @JsonKey(name: 'username')
  String name;

  int age;

  Person({this.name, this.age});

  factory Person.fromJson(Map<String, dynamic> json) =>
      _$PersonFromJson(json);
  Map<String, dynamic> toJson() => _$PersonToJson(this);
}
  1. 运行序列化命令
flutter pub run build_runner build
  1. 使用序列化对象
final Map<String, dynamic> json = {'username': 'Tom', 'age': 18};
final person = Person.fromJson(json);
print(person.name); // Tom
注解
  • @JsonSerializable():必须添加在需要序列化的类上
  • @JsonKey(name: 'custom_name'):使用此注解可以将选项与JSON名称关联
  • @JsonKey(ignore: true):使用此注解可以忽略属性,不进行序列化。
总结

通过以上步骤,我们可以方便地将JSONAPI响应序列化为对象,并在Flutter应用程序中使用。使用json_serializable库非常简单,只需在需要序列化的类上添加注解即可。