🧭

FlutterでJsonをパースする

2021/07/11に公開

今回はjson_annotationを利用してパースメソッドを自動生成する方法を紹介します。

まずは以下をpub spec.yamlに追加します。

json_serializable: ^3.3.0
json_annotation: ^3.0.1

次に任意のEntityオブジェクトを作成します。

いくつかエラーが表示されますがビルドコマンド実行後に解消されるので問題ありません。

part 'user.g.dart';

class User {
  final String id;
  final String name;

  User(this.id, this.name);

	factory User.fromJson(Map<String, dynamic> json) => _$UserFromJson(json);
	Map<String, dynamic> toJson() => _$UserToJson(this);
}

追加後にプロジェクトのルートで以下のコマンドを実行します。

flutter packages pub run build_runner build

実行後にuser.g.dartが自動生成され、fromJsonメソッドとtoJsonメソッドが自動生成されます。

これでJsonをパースする準備が整いました!あとは任意の箇所で各処理を呼ぶだけです!

Flutterではjson_annotationを利用して簡単にJSONを扱うことができます。

Discussion