【发布时间】:2018-09-11 16:43:20
【问题描述】:
我有一个向我发送值列表的服务,在使用 'dart:convert json.decode' 解析后,我得到了一个 List json:
(values) [ 0.23, 0.2, 0, 0.43 ]
当我尝试将值解析为“double”时,出现解析错误
double value = values[2] // error
因为如果我们检查每个元素的 .runtimeType 我们可以看到我们有以下内容
[double, double, int, double]
那么,我怎样才能避免 '0' 被解释为 int 呢? 我想避免使用这样的函数:
double jsonToDouble(dynamic value) {
if(value.runtimeType == int) {
return (value as int).toDouble();
}
return value;
}
【问题讨论】:
-
您是否尝试映射值数组?
values .map((i) => i.toDouble()).toList(); -
我会更新我的问题,因为我从“列表值”开始,这是我提到的列表,如果我像你提到的那样进行映射,我最终会得到一个“列表”而不是我需要的 'List
'。
标签: dart