Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- AnimationController
- PlatformException(sign_in_failed
- flutter
- docker overview
- widget
- 발로란트 api dart
- flutter bloc
- 롤 api dart
- dart.dev
- lol api dart
- flutter statefulwidget
- com.google.GIDSignIn
- dart
- swift 동시성
- swift concurrency
- riot api dart
- generate parentheses dart
- keychain error
- leetcode dart
- 롤토체스 api dart
- flutter ios 폴더
- 파이썬 부동소수점
- dart new 키워드
- dart new
- 파이썬
- tft api dart
- Architectural overview
- flutter widget
- valorant api dart
- flutter android 폴더
Archives
- Today
- Total
Coaspe
Flutter - Json Serialization 본문
Flutter, Dart에서 Json Serialization하는 방법에 대해 알아봅시다.
우선 3가지 package가 필요합니다.
1. json_serializable
2. json_annotation
3. build_runner
그 다음 Serialization, Deserialization을 하고 싶은 class(모든 예는 Store.dart에 정의한 커스텀 클래스인 Store를 사용합니다.)를 다음과 같이 annotate 하면 됩니다.
@JsonSerializable annotation의 인자인 fieldRename은 생성될 JSON에서 만약 FieldRename.snake라면,
oneLineDesc => one_line_desc
처럼 field가 json의 key로 변환됩니다. (lowerCamelCase => snake)
Annotation을 적용 한 후,
flutter 개발을 하고 있다면,
flutter pub run build_runner build
을 실행하면 Store.g.dart 파일이 생성됩니다.
Store.g.dart에 생성된 함수는 2개 입니다.
Store _$StoreFromJson(Map<String, dynamic> json)
Json을 Store 객체로 변환시켜주는 함수 입니다. 위에서 설명 했듯이, snake가 적용되어 storeId이 Json에서는 store_id 와 같은 형식으로 사용된 모습입니다.
Map<String, dynamic> _$StoreToJson(Store instance)
Store 객체를 Json으로 변환시켜주는 함수 입니다. 로직은 위의 함수와 거의 반대라고 보셔도 됩니다. DB로 부터 Json으로 받은 후 객체로 사용할 때 사용하면 유용합니다.
'Flutter > 기술' 카테고리의 다른 글
Flutter - 모바일 상단 상태 바 높이 구하기 (0) | 2023.02.17 |
---|---|
Flutter - 키보드 숨기기 (0) | 2023.02.17 |
Flutter Error: Couldn't resolve the package "package name"~~ (0) | 2023.02.17 |
Flutter/기술 - iOS, Android 폴더를 따로 생성하고 싶을 때 (0) | 2022.11.08 |
Comments