강의를 활용하여 공공API를 받아오는데 오류가 나옵니다
강의를 보면서 공공API 인증키를 받아 새로 어플을 만들어 보고 있는데
_TypeError (type 'List<dynamic>' is not a subtype of type 'Map<String, dynamic>')
오류가 자꾸 나옵니다
스택오버플로우같은곳에 나와있는 해결법으로 오류를 없애면 비슷한 양식의 다른 오류가 나오거나
저 e 부분이 널값이 됩니다
혹시 어떻게 해야될지 방향성이라도 알려주실 수 있나요?
일단 사진처럼 나온다는것은 e 안에 API정보가 들어오긴 했다는것같은데
이 안에 result값 제외 어떤 값이든 입력시 널값으로 받아오는 것 같습니다
ex) data, name 등
API 양식이랑도 관련이 있을까요?
강의중에 API말씀하실때 대괄호 부분 관련해서 얘기하셨던것 같은데 그거랑도 관련이 있을까요?
{"result":
{"data":
[{"time_type":"오전“,
"lon":"129.2478",
"water_temp":"13.4",
“air_temp":"1.2",
"total_score":"매우나쁨",
"name":"부산북동",
"weather":"흐림",
"wind_speed":"10.6",
"date":"2022-11-30",
"wave_height":"0.5",
"lat":"35.2341"},
이 부분에서 시간을 너무 잡아먹어서 고민이네요
+추가로 key를 지우면
_TypeError (type '(dynamic) => Null' is not a subtype of type '(String, dynamic) => void' of 'f')
오류가 나옵니다 이쪽이 더 연관 있을지도 모르겠어요
回答 1
0
e 가 Ocean 객체 하나가 되는 것을 기대하고 계시지만 사진으로 보면 Ocean 리스트 덩어리입니다.
e.forEach 해서 다시 꺼내야 합니다.
0
아니요. jsonOceans 에서 처럼 쓰셔야합니다.
jsonOcean.forEach((key, e) {
e.forEach((key, ee) {
oceans.add(Ocean.fromJson(ee));
}
}
대충 이런 느낌이요.
0
혹시 e.map() 이 되나요? 지금 List<Map<String, dynamic>> 형태이니 List<Ocean> 으로 변환만 하면 되는 걸로 보이는데요.
혹시 jsonOceans 가 어떤 형태인지 보여주실 수 있으신가요?
0
강의중에 말씀해주셨던 dart to json 에서 변환하여 모델 만들고
아직 mvvm이 익숙하지 않아서 강의 초반부분 메인화면 UI작성 진도 부분쯤 참고해서 만들고 있어요
0
jsonOceans 받을 때 Iterable 타입을 지정해 주시는 것이 좋아요. 그래야 forEach나 map 함수 쓸 때 자동완성도 지원이 됩니다. 그냥 타입 없이 받으면 dynamic 타입으로 인식하여 런타임 에러에 취약합니다.
oceans 값을 바꿔야 되니까 final 은 없는게 편할 것 같네요.
forEach 에서 리스트에 add 하는 것 보다는 map 함수로 변환하는게 편할 것 같습니다.
수정 포인트 적어두었으니 참고하세요.
List<Ocean> oceans = [];
final Iterable jsonOceans = jsonResult['result'];
oceans = jsonOceans.map((e) => Ocean.fromJson(e)).toList();
0
계속 여쭤봐서 죄송하네요 이번엔 Iterable쪽에서 에러가 나온것 같아요
그리고 혹시 강의에 사용된 API와 제가 사용중인 API에서 어떤부분이 달라서 오류가 이렇게 나오는지도 여쭤봐도 될까요?
강의에 올려주신 API를 이용하면 화면에 오류 없이 잘 출력 됩니다
Funtion vs StatelessWidget 질문!!!
0
667
1
provider lib 버전 업
0
276
1
궁금한 점이 두가지 있습니다.
0
252
1
오류가 납니다.
0
366
2
api오류
0
298
1
ios 디바이스에서 geolocator 는 안되는건가요?
0
305
1
ListView가 화면에 출력이 안됩니다.
0
327
1
MethodChannel 에 관해서 질문이요..
0
318
1
API 관련
0
237
1
공적 마스크 api 서비스 중단
0
228
2
provider를 쓰지 않았을 때 불러오는 방법
0
229
2
2장 ViewModel만들기- 데이터를 가져오는 코드 만들기 부분
-1
288
1
1장 메인화면 UI작성 강의 질문
0
305
2
ListView 궁금한점이 있습니다.
0
185
1
리스트 불러오기 오류
0
430
2
json 파일을 읽지 못하고 있어요;;
0
173
1
수원시 좌표를 넣었는데 서울이 나오는 건 어찌하나요?
0
208
1
현재 위치 기반 검색 질문입니다.
0
273
1
현재 위치 찾는 방법
0
259
1
안드로이드 스튜디오의 코드 스타일을 보면 강사님의 'Widget'은 색깔있는 글자인데 저는 검은 회색으로 나옵니다. 어떻게 강사님처럼 변경하는지요?
0
232
1
api 링크 주소를 강의처럼 수정하고 싶은데 어떻게 해야 하나요?
0
260
1
loading될 때 delay주는 방법
0
552
3
pub.dev 학습방법문의
0
180
1
SwaggerHub에서 execute 시 에러 발생
0
201
1

