Dart・Flutterを学ぶ日々 その3

json_serializable

JsonをパースしてModelに変換したいぞ

github.com

qiita.com

qiita.com

toJsonを実装しないと、jsonEncodeでエラーになったのがちょいハマった。

import 'package:json_annotation/json_annotation.dart';

part 'channel.g.dart';

@JsonSerializable()
class Channel {
  @JsonKey(name: 'id')
  final String id;
  @JsonKey(name: 'name')
  final String name;
  @JsonKey(name: 'is_channel')
  final bool isChannel;
  @JsonKey(name: 'is_archived')
  final bool isArchived;
  @JsonKey(name: 'is_general')
  final bool isGeneral;
  @JsonKey(name: 'is_private')
  final bool isPrivate;

  Channel(this.id, this.name, this.isChannel, this.isArchived, this.isGeneral,
      this.isPrivate);

  factory Channel.fromJson(Map<String, dynamic> json) =>
      _$ChannelFromJson(json);

  Map<String, dynamic> toJson() => _$ChannelToJson(this);
}

build_runner

github.com

pub run build_runner build

上を実行してもずっとbuildが終わらなくて、pubspec.lockを削除して、pub getし直して、再度実行したらbuild終わった!

これと途中まで挙動は似てたけど、解決策が違った

blog.dalt.me

null safety

Dart 2.10から入るっぽく、まだStableじゃなかったのかーって思った

dart.dev

LIstをfilterしたい

filterじゃなくて、whereなのね

api.dart.dev

File Write

この辺に書いてあった

api.dart.dev