json 파싱
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> 형식이 되므로 반드시 넣어 주어야합니다.