環境
以下のライブラリを使う。(普通これだよね)
Mapの場合
ライブラリでMapをパースするとMap
型ではなくdynamic
型が返ってくる。
実態はYamlMap
型。
YamlMap型から値を取り出しても値の方が推論されず、使いにくい。
Yamlの構造が複雑な時は仕方ないが、Map<String, String>
で十分な時は、Map型に変換したい。
.map
で変換できる。
import 'package:yaml/yaml.dart'; final yamlData = loadYaml(""" abc: abc """ ) as YamlMap; /// (key, value)を引数にとる。MapEntryを返す。 final map = yamlData.map((key, value) => MapEntry<String, String>(key, value));
Listの場合
ライブラリでListをパースするとList
型ではなくdynamic
型が返ってくる。
実態はYamlList
型。
以下のコードでList<String>
に変換できる
import 'package:yaml/yaml.dart'; final result = loadYaml(""" - a - b """) as YamlList; final list = result.toList().cast<String>();
ググっても出でこなかった