我有一个调用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转换为DART中的列表.我try 了下面的脚本:

json.decode(response.body).cast<List<String>();

但是它不起作用, playbook 怎么会是正确的呢?

推荐答案

解析JSON列表的结果是List<dynamic>.jsonDecode的返回类型只有dynamic.

你可以把这样一张名单打到List<String>

List<String> stringList = (jsonDecode(input) as List<dynamic>).cast<String>();

您也可以将其用作List<dynamic>,然后将每个值分配给String:

List<dynamic> rellyAStringList = jsonDecode(input);
for (String string in reallyAStringList) { ... }

效果大致相同-将每个元素从列表中删除时,都会判断其是否为字符串.

Flutter相关问答推荐

Flutter -修改子小部件中的AppBar

如何使用Firebase Firestore来获取外部集合中的文档子集合中的文档

如何更新文本字段的基础上的选定下拉菜单?

从Flutter应用程序解释蓝牙BLE数据:了解Sylvania压力值

文本未设置在集装箱摆动的中心

Flutter API请求BadState响应

在flutter web上渲染多个Youtube视频

Flutter 日期时间格式

构建方法中的性能声明小部件

Flutter 附近的连接

如何拥有 StreamProvider 的多个侦听器,其中稍后添加的侦听器接收最新数据?

在 Dart 中按土耳其语字母顺序对字符串进行排序

使用 Play Integrity API 时,Firebase 电话身份验证问题缺少客户端标识符错误

java.lang.IncompatibleClassChangeError:找到接口 com.google.android.gms.location.SettingsClient,

我无法从 Cloud firestore 访问文档字段并在 statefulwidget 类中显示它

如何从 showModalBottomSheet 中的 topRight 和 topLeft 移除平边

如何在 flutter 的alert 对话框中实现进度指示器?

为什么 setState 不改变我的变量 Flutter?

未处理的异常:FileSystemException:无法打开文件,路径 = 'assets/res.zip'(操作系统错误:没有这样的文件或目录,errno = 2)

Flutter audioplayers错误-单击音频按钮时不播放音频