flutter.dev

json 파싱

paulaner80 2021. 7. 6. 10:30
반응형

json 파싱.

예들들어
Map<String, dynamic> param = 
{
  "title": "picture book",
  "info" : [
    {"pageNum":1,"url":"http://abcdef.com/a"},
    {"pageNum":2,"url":"http://abcdef.com/b"},
    {"pageNum":3,"url":"http://abcdef.com/c"},
    {"pageNum":4,"url":"http://abcdef.com/d"},
    {"pageNum":5,"url":"http://abcdef.com/e"},
  ]
};
이렇게 List를 포함한 형식의 json이 있을 때 입니다.

 

이 때, info 부분만 Map<String, dynamic> 타입으로 가져오려할 때 

List<Map<String, dynamic>> infoList = param["info"]; 으로 가져오면
infoList  는  List<Map<String, Object>> 타입이 됩니다.


이렇게 하시면 됩니다.
List<Map<String, dynamic>> infoList  = 
   (param["info"] as List)
   .map((e) => Map<String, dynamic>.from(e))
   .toList();

이렇게 처리해주면 infoList  는 
List<Map<String, dynamic>> 형식이 됩니다.


중간에 as List를 넣지 않으면  
infoList는  List<dynamic> 형식이 되므로 반드시 넣어 주어야합니다.

'flutter.dev' 카테고리의 다른 글

dart 병렬처리  (0) 2021.07.13
Hive  (0) 2021.05.25
permission_handler 사용법  (0) 2021.04.12
[하는 중.]어셋과 이미지 추가하기  (0) 2019.11.26
Provider  (0) 2019.11.05