강의에서 다룬 프로젝트는 아니지만 답변해주시면 감사하겠습니다
미세먼지 프로젝트 보고 실습 해보고 싶어서 고등학교 급식 공공데이터 API로 네트워크 요청한 결과,
Map 형태가 아닌 String 형태로 반환이 되어(심지어 List도 아닙니다) 인덱스 값에 String을 넣으면 Unhandled Exception: type 'String' is not a subtype of type 'int' of 'index' 오류가 납니다.
구글링을 해보아도 해결방안을 모르겠어서 질문 드립니다 !
runtimeType 결과
2. 인덱스에 String값 넣어서 필요한 값만 뽑아내려고 했을 때 오류나는 화면
3. Postman 결과
4. 인덱스에 int인 0을 넣은 결과 : 첫 글자인 { 가 나옵니다. [1]을 넣으면 " 가 나오고, [2]를 넣으면 m이 나옵니다. String이라 당연하겠죠..?
천천히 답변 주셔도 됩니다 감사합니다 !
안녕하세요.
JSON형태가 아니라 String으로 인코딩돼서 온다는 말씀이신가요?
먼저 JSON으로 전환하시면 될 것 같습니다.
https://docs.flutter.dev/development/data-and-backend/json
여기에 완벽히 정리 돼있습니다~
답글
word high
2022.09.01jsonDecode()로 해결했습니다 정말 감사합니다 !!
다른 분들 보실 수 있게 코드 남겨 놓겠습니다
Map<String, dynamic> meal = jsonDecode(response.data);
reponse는 코드팩토리님 강의에서 한 것처럼 Dio로 네트워크 요청해서 받은 값입니다.