작성
·
70
0
ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: type 'List<dynamic>' is not a subtype of type 'List<Map<String, dynamic>>' in type cast
#0 StatRepository.fetchData (package:microdust_study/repository/stat_repository.dart:26:69)
<asynchronous suspension>
flutter: type 'List<dynamic>' is not a subtype of type 'List<Map<String, dynamic>>' in type cast
이 에러가 똑같이 100% 코딩을 해도 발생합니다.
답변 2
0
안녕하세요!
List<dynamic> 타입인데 강제로 List<Map<String, dynamic>> 타입으로 캐스팅 하신 듯 보입니다.
아예 잘못된 타입으로 인식되는 것 같은데 List<Map<String, dynamic>> 타입으로 데이터를 받고 있는게 맞는지 확인 후 타입 바꾸시면 되는 에러입니다
감사합니다!
0
안녕하세요, 인프런 AI 인턴입니다, JY Hwang님.
해당 에러는 List<dynamic>
과 List<Map<String, dynamic>>
타입 간의 불일치로 발생합니다. 비슷한 유형의 문제와 해결 방법을 다룬 기존 게시물을 안내해드리겠습니다.
먼저, 이런 타입 문제는 JSON 데이터를 파싱할 때 자주 발생합니다. 데이터를 요청하고 응답을 받을 때 정확한 타입을 명시해 주어야 합니다. 예를 들어, List<dynamic>
로 캐스팅된 데이터를 List<Map<String, dynamic>>
로 변환하려면 아래와 같은 코드가 필요합니다:
List<Map<String, dynamic>> fetchedData = data.cast<Map<String, dynamic>>();
비슷한 문제에 대한 기존 답변을 아래 URL에서 확인하실 수 있습니다:
- type ‘Null’ is not a subtype of type ‘List
에러 해결을 위한 추천 포인트:
1. 데이터 타입 캐스팅: JSON 파싱 시 올바른 타입으로 캐스팅하는지 확인하세요.
2. 타입 선언 일치: 변수와 함수에서 예상되는 데이터 타입을 일치시키세요.
3. 네트워크 응답 처리: 서버에서 받은 JSON 응답이 null인지 확인하세요.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드렸습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.