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 |