【发布时间】:2020-07-24 18:41:17
【问题描述】:
我已阅读并尝试了所有帖子/视频,但没有任何效果。请帮助对代码感兴趣的网络管理员。
我不知道如何将返回的 json 对象转换为我可以使用的可用列表/字符串。我只需要元素 -> 距离 -> 文本和文本小部件的值。
返回的 JSON 对象
{
"destination_addresses" : [ "The destination address" ],
"origin_addresses" : [ "The origin address" ],
"rows" : [
{
"elements" : [
{
"distance" : {
"text" : "7 m",
"value" : 7
},
"duration" : {
"text" : "1 min.",
"value" : 1
},
"status" : "OK"
}
]
}
],
"status" : "OK"
}
代码 sn-p(删除之前的尝试):
Future<String> getLinkForCalculation() async{
var _latUser = "INSERT LATUSER";
var _lonUser = "INSERT LONUSER";
var _latClient = "INSERT LATCLIENT";
var _lonClient = "INSERT LONCLIENT";
var _key = "INSERT_API_KEY";
var link = "https://maps.googleapis.com/maps/api/distancematrix/json?units=metric&origins=$_latUser,$_lonUser&destinations=$_latClient,$_lonClient&key=$_key";
print(link);
return link;
}
Future<List> calculateDistanceFromLink()async{
var link = await getLinkForCalculation();
Dio finalLink = new Dio();
Response distanceData = await finalLink.get(link);
print(distanceData.data);
}
我已阅读并尝试过:
- Flutter and Distance Matrix API parsing json(实现了类,导入了 loadData() 方法,但我的应用程序到处出错)
- https://medium.com/flutterdevs/parsing-complex-json-in-flutter-b7f991611d3e(实现并更改了类以使用我的数据。不再工作。)
- Unhandled Exception: InternalLinkedHashMap<String, dynamic>' is not a subtype of type 'List<dynamic>
- How to Deserialize a list of objects from json in flutter
- Flutter: Get data from a list of json
【问题讨论】: