我正在尝试转换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'不是类型为cast的类型'String'的子类型
I / flutter(10537):double来自dart:core
I / flutter(10537):字符串来自dart:core
这个错误让我相信我的解析无效,即使它显然是一个双重值,就像一个字符串。我错过了转换的内容吗?我在使用double.parse的多个例子中看过转换,我只是无法弄清楚我的问题是什么..
答案 0 :(得分:3)
如果该值是从JSON解析的,Dart知道该值是一个double,错误告诉我该值是double类型和转换期望类型字符串。
一旦我理解,错误就会更清楚了!