작성
·
11K
0
섹션 0 까지 했는데
Unhandled Exception: type 'int' is not a subtype of type 'String'
이런 오류가 나옵니다
답변 6
0
code는 String 으로 들어오고 있는데 이상하네요.
그래도 의심을 해 본다면 일부 데이터만 int로 보낼 수도 있습니다.
서버에서 보내주는 데이터를 절대적으로 믿으면 안 되거든요.
그렇다는 것을 가정하면 kimsw509님처럼 var code 로 했을 경우에는 타입 추론이기 때문에 String이나 int여도 값을 받는다고 보면 됩니다.
아니면 이 예제에서 code 값을 쓰지 않기 때문에 code를 파싱하는 부분을 모두 제거해도 될 것 같습니다.
0
저는 일단 code를 String code 에서 var code 로 잠깐 바꿔서 쓰니까 제대로 돌아가고 있습니다. 근데 왜 int code로 하면 code가 String이고 int 타입은 받을수 없습니다 라고 뜨고 String code로 하면 code가 int 형식이고 String 타입을 받을수 없습니다. 라고 뜨는지 모르겠습니다. 그래서 생각해 본건데 json parse 하면서 뭔가 문제가 있지 않나 조심히 생각해 봅니다.
0
0
0
E/flutter ( 6307): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)]
Unhandled Exception: type 'int' is not a subtype of type 'String'
E/flutter ( 6307): #0 new Store.fromJson (package:fluttermask03/model/store.dart:25:5)
아래 클래스 이부분에서 에러납니다.
code = json['code'];
class Store {
...
Store.fromJson(Map<String, dynamic> json) {
code = json['code'];
}
0
에러난 부분의 코드가 보이지 않아 추측하기로는
String 값을 int 형 변수에 대입하려고 했기 때문일 것으로 추측됩니다.
해당 에러가 발생하는 라인을 보면 아마도 'String 변수 = int 값' 형태의 코드가 있을 겁니다.
'int 변수 = int 값' 또는 'num 변수 = int 값' 형태로 타입을 맞춰 주시면 됩니다.