我有一个调用json字符串数组的API,如下所示:
[ "006.01.01", "006.01.01 1090", "006.01.01 1090 1090.950", "006.01.01 1090 1090.950 052", "006.01.01 1090 1090.950 052 A", "006.01.01 1090 1090.950 052 A 521219", "006.01.01 1090 1090.950 052 A 521219", "006.01.01 1090 1090.950 052 A 521219", "006.01.01 1090 1090.950 052 A 521219", "006.01.01 1090 1090.950 052 A 521219", "006.01.01 1090 1090.950 052 B", "006.01.01 1090 1090.950 052 B 521211", "006.01.01 1090 1090.950 052 B 521211", "006.01.01 1090 1090.994", "006.01.01 1090 1090.994 001", "006.01.01 1090 1090.994 001 A", "006.01.01 1090 1090.994 001 A 511111", "006.01.01 1090 1090.994 001 A 511111", "006.01.01 1090 1090.994 001 A 511111", "006.01.01 1090 1090.994 001 A 511111" ]
我打算将json转换为飞镖中的List。我尝试了以下脚本:
json.decode(response.body).cast<List<String>();
但是它不起作用,脚本应该如何正确?
解析JSON列表的结果是List<dynamic>。的返回类型jsonDecode为just dynamic。
List<dynamic>
jsonDecode
dynamic
您可以将这样的列表转换List<String>为
List<String>
List<String> stringList = (jsonDecode(input) as List<dynamic>).cast<String>();
您也可以将其用作List<dynamic>,然后将每个值分配给String:
String
List<dynamic> rellyAStringList = jsonDecode(input); for (String string in reallyAStringList) { ... }
效果大致相同-从列表中取出每个元素时,将检查每个元素是否为字符串。