【发布时间】:2018-09-13 08:46:12
【问题描述】:
我正在尝试转换从 Google Geo 返回的坐标。 API 变成双打。返回的响应的简化部分是......
{
locationData: {
bounds: {
northeast: 40.222222,
southwest: 38.265987
}
}
}
当我使用print(locationData['bounds']['northeast']) 时,我的控制台读取并理解该值为40.222222 但是,当我尝试使用解析方法时,我收到以下错误:
var neLat = double.parse(locationData['bounds']['northeast']);
I/flutter (10537):类型“double”不是类型转换中“String”类型的子类型,其中
I/flutter (10537): double 来自 dart:core
I/flutter (10537):字符串来自 dart:core
该错误使我相信我的解析无效,即使它显然是一个双精度值,就像一个字符串一样。我错过了这种转换的东西吗?我已经在使用 double.parse 的多个示例中看到了转换,我只是无法弄清楚我的问题是什么..
【问题讨论】:
-
如果您从 JSON 解析该映射,则该值已经是双精度值。类型错误来自于将一个 double 传递给 parse 方法,该方法需要一个字符串
-
@JonahWilliams 哦,你说得对。我习惯使用 TypeScript 并且必须声明类型,很高兴知道它假定了类型。谢谢!
标签: google-api dart flutter