【问题标题】:Flutter how to filter arrayFlutter如何过滤数组
【发布时间】:2022-01-20 04:50:24
【问题描述】:

请给我解决方案。 我这里有json数据

{
"id": "61e7e10f5c5677",
"travel_map": [
    {
        "odometer": 0,
        "coords": {
            "altitude": 150.1,
            "heading": -1,
            "latitude": 28.5799048,
            "speed": -1,
            "longitude": 77.3191382
        }
    },
    {
        "odometer": 0,
        "coords": {
            "altitude": 149.8,
            "heading": 315.43,
            "latitude": 28.5799129,
            "speed": 0.01,
            "longitude": 77.3191291
        }
    }
]
}

我需要像这样从这些数据中过滤出latitudelongitude

[LatLng(28.5799048, 77.3191382), LatLng(28.5799129, 77.3191291)]

【问题讨论】:

标签: flutter dart


【解决方案1】:

试试这个:

var travelMapList = yourJson["travel_map"] as List? ?? [];
var latLangList = travelMapList.map((e) => LatLng(e["coords"]["latitude"] ?? 0, e["coords"]["longitude"] ?? 0));
print(latLangList);

这将打印出来

(Instance of 'LatLng', Instance of 'LatLng')

【讨论】:

  • 它有效。谢谢
【解决方案2】:

使用Json to dart converter

如果你得到 api 的响应,请这样做

final parsedData=json.decode(response.body);
MyJsonToDartData data= new MyJsonToDartData.fromJson(parsedData);

现在您可以将data 用作对象并访问所有底层值

【讨论】:

    猜你喜欢
    • 2017-04-12
    • 2020-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-27
    • 2016-08-03
    • 1970-01-01
    相关资源
    最近更新 更多