「Flutter/外部ライブラリ/json」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→サンプル) |
(→サンプル) |
||
行31: | 行31: | ||
以下を実行しuser.g.dartファイルを作成 | 以下を実行しuser.g.dartファイルを作成 | ||
$ flutter packages pub run build_runner build | $ flutter packages pub run build_runner build | ||
+ | |||
+ | 以下ファイルが作成されていることを確認 | ||
+ | |||
+ | lib/home/dao/user.g.dart | ||
+ | <pre> | ||
+ | part of 'user.dart'; | ||
+ | User _$UserFromJson(Map<String, dynamic> json) { | ||
+ | return User(json['name'] as String, json['age'] as int); | ||
+ | } | ||
+ | Map<String, dynamic> _$UserToJson(User instance) => | ||
+ | <String, dynamic>{'name': instance.name, 'age': instance.age}; | ||
+ | </pre> |
2019年5月3日 (金) 18:05時点における版
準備
jsonパッケージインストール
pubspec.yaml
dependencies: json_annotation: ^2.0.0 dev_dependencies: build_runner: ^1.0.0 json_serializable: ^2.0.0
$ flutter package get
を実行
サンプル
lib/home/dao/user.dart
import 'package:json_annotation/json_annotation.dart'; part 'user.g.dart'; @JsonSerializable() class User { User(this.name, this.age); String name; int age; factory User.fromJson(Map<String, dynamic> json) => _$UserFromJson(json); Map<String, dynamic> toJson() => _$UserToJson(this); }
以下を実行しuser.g.dartファイルを作成
$ flutter packages pub run build_runner build
以下ファイルが作成されていることを確認
lib/home/dao/user.g.dart
part of 'user.dart'; User _$UserFromJson(Map<String, dynamic> json) { return User(json['name'] as String, json['age'] as int); } Map<String, dynamic> _$UserToJson(User instance) => <String, dynamic>{'name': instance.name, 'age': instance.age};