아무나 빌려가세요
flutter json List of Maps 모델 직렬화 본문
json파일을 직렬화 해주는 사이트들이 많지만 배열로 묶여있는 형태는 제대로 안나오는 경우가 있다.
구글링을 한 끝에 방법을 찾았다.
방법은 직렬화된 클래스를 리스트로 선언하는 클래스를 하나 더 만들어야 한다.
class List {
List({required this.supports});
List<JsonModel> list;
//클래스를 타입으로 하는 리스트 변수를 생성한다.
}
fromJson을 설정할땐 json또한 List로 선언한다.
factory List.fromJson(List<dynamic> json) {
List<JsonModel> jsonlist = <JsonModel>[];
jsonlist = json.map((i) => Support.fromJson(i)).toList();
return List(list: jsonlist);
api를 받은 함수안에서 클래스를 선언해주면 된다.
List test = jsonDecode(responseBody);
var test = List.fromJson(test);
return test
//future함수일 경우 Future<클래스네임>으로 설정해야한다.
futurebuilder를 사용할때 데이터를 받아오는 경우
List<List> newList = snapshot.data!.list;
//snapshot.data에서 나온 출력값을 list변수에 입력한다.
//list의 타입을 설정해주지 않으면 instance of list 으로 나올 수 있다.
'플러터' 카테고리의 다른 글
firebaseAuth messaging ios 에러 (0) | 2022.08.19 |
---|---|
flutter push알림 onesignal 적용(3) (0) | 2022.05.10 |
flutter push알림 onesignal 적용(2) (0) | 2022.04.25 |
flutter push알림 oneSignal 적용 (1) (0) | 2022.04.13 |
flutter 페이지 뒤로 갔을때 새로고침 하는 방법. (0) | 2022.02.22 |