我在dart中使用numtype来解析json数据,由于我们的服务器是在NodeJS中实现的,整数和双精度类型没有任何意义,当服务器发送带有值的json字段4并且4.0两者4都是json字符串时,所以我用来num解析json数字
在我的flutter应用程序中,我需要将解析后的数据传递给变量double,当服务器发送带有小数部分的数字时(即4.1)一切正常,runtimeType解析时num是double
但是当服务器发送不带小数部分时,runtimeType解析时num是int并且我有Dart type 'int' is not a subtype of type 'double'错误
我正在寻找一种方法来表示 Dart 也强烈检查num类型,如果我传递num给double变量会抛出错误
我不想关闭implicit-casts,因为我有很多dynamic隐式转换的类型
Dart JSON 解析器将整数解析为intvalue,将小数解析为double. 因此,JSON 数字4.1被读入双精度型, 也是如此4.0,但普通数字4则变成int。没有办法配置它,你必须处理你得到的值。
如果您想使用 JSON 数字值作为double,请.toDouble()在将其分配给变量之前使用该值的方法double:double d = jsonValue["name"].toDouble();或var d = (jsonValue["name"] as num).toDouble();
| 归档时间: |
|
| 查看次数: |
518 次 |
| 最近记录: |