• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    미해결

강의 8분 30초경부터 질문

22.01.20 13:32 작성 조회수 143

0

1. json Response['hits'] 는 jsonDecode가 된상태여서 JSON이 아닌 Array형태 아닌가요?

 

2. Iterable hits = jsonResponse['hits'];  <-- 이게 현재 Map형태라고 하셨는데, 배열의 형태아닌가요? 

만약 Map형태라면 hits.map 혹은 hits.forEach같은 JS 언어에서는 배열에서만 쓸수있는 함수를 Dart 언어에서는 객체형태에도 사용가능한건가요?

 

답변 1

답변을 작성해보세요.

3

1. 네 맞습니다. 그런데 참고로 Dart에 Array 타입은 존재하지 않습니다. 그래서 굳이 따지자면 JsonArray 형태인가요? 라고 물으시면 정확한 것 같습니다. 이런 형태를 다룰 때 강제로 캐스팅해서 사용할 수 있는 타입으로는 Iterable이 있습니다. 이를 구현한 List, Set도 가능합니다만

2. 영상 다시 들어보니까 반복되는 형태인 Iterable 로 받아놓고 Map 형태라고 말하고 있었네요??. 정확히는 Map 들의 반복되는 형태를 얘기하려고 했던 것 같습니다. 일반 Json의 형태는 Dart에서 Map의 문법과 동일하여 Map으로 간주하고 처리하고 있습니다.

예리한 지적이십니다.

결론은 말씀하신 Array 형태가 맞습니다.