jsonselization 사용
터미널에 flutter pub add로 json_annotationd을 깐다.
dev_dependencies는 개발중에만 쓰는 걸로 배포할 때는 필요없다.
flutter pub add build_runner --dev로 친다. 다 깔리면 모델 클래스를 작성해야 하는 곳에 json을 친다. 그러면 아래와 같이 뜬다.
import 'package:json_annotation/json_annotation.dart';
part '.g.dart'
@JsonSerializable(explicitToJson: true)
class {
();
factory .fromJson(Map<String, dynamic> json) => _$FromJson(json);
Map<String, dynamic> toJson() => _$ToJson(this);
}
fromjson과 tojson만 만들어주는 역할이다. 커서가 뜨는 곳에 클래스 이름을 적으면 아래와 같이 된다.
import 'package:json_annotation/json_annotation.dart';
part '.g.dart'
@JsonSerializable(explicitToJson: true)
class Photo {
final String previewURL;
final String tags;
Photo({
required this.previewURL,
required this.tags,
});
factory Photo.fromJson(Map<String, dynamic> json) => _$PhotoFromJson(json);
Map<String, dynamic> toJson() => _$PhotoToJson(this);
}
터미널에 flutter pub add build_runner build를 치면 g.dart파일이 만들어진다.