json serializable 사용

테디준·2022년 8월 17일
0

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'

(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'

(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파일이 만들어진다.

0개의 댓글