У меня есть данные json, и я загружаюсь в List<Map<String, dynamic>>
, используя await jsonDecode. .
Пример, у меня есть;
- сумма = 12500
- калибр = 24
и мне нужно отфильтровать сына, чтобы получить значение зрелости: 689.19
Также, если у меня сумма = 12500 и значение = 689.19, мне нужно получить калибр, равный 24.
Как мне отфильтровать данные List> json, чтобы получить значение во Flutter?
[
{"amount": "5000", "caliber": "12", "maturity": "484.25"},
{"amount": "5000", "caliber": "24", "maturity": "275.67"},
{"amount": "7500", "caliber": "12", "maturity": "726.38"},
{"amount": "7500", "caliber": "24", "maturity": "413.51"},
{"amount": "10000", "caliber": "12", "maturity": "968.50"},
{"amount": "10000", "caliber": "24", "maturity": "551.35"},
{"amount": "12500", "caliber": "12", "maturity": "1210.63"},
{"amount": "12500", "caliber": "24", "maturity": "689.19"},
{"amount": "15000", "caliber": "12", "maturity": "1452.76"},
{"amount": "15000", "caliber": "24", "maturity": "827.03"},
{"amount": "15000", "caliber": "12", "maturity": "1694.89"},
{"amount": "17500", "caliber": "24", "maturity": "964.87"},
{"amount": "17500", "caliber": "36", "maturity": "727.66"},
{"amount": "17500", "caliber": "48", "maturity": "613.53"},
{"amount": "17500", "caliber": "60", "maturity": "548.44"},
{"amount": "20000", "caliber": "12", "maturity": "1937.01"},
{"amount": "20000", "caliber": "24", "maturity": "1102.71"}
]
UPDATE:
С помощью @Muldec я наконец понял.
Сначала я загружаю выше сына в список, как показано ниже. И примените ответ @Muldec, и это сработало.
List<Map> myList = List<Map>.from(jsonDecode(jsonFastCalculation) as List);
final item = myList.firstWhere((e) => e['amount'] == '12500' && e['caliber'] == '24');
print(item['maturity']);