我有一个动态列表,我正在从JSON响应解码它,如下所示:
在这个问题中,我需要检查给定的键是否存在。例如,检查键“Calcium”是否存在,如果存在,则需要获取属于该键的数组的索引0和索引2的值。我希望以迭代的方式执行此操作。
我应该如何在Dart中实现这一点?
我已经尝试过这个方法,但它不起作用,可能是我方法不对。
[{Calcium: [47.92, mg, Red, 0.00169033008, ounce]}, {Choline: [71.88, mg, Red, 0.00253549512, ounce]}, {Copper: [0.08, mg, Red, 0.00000282192, ounce]}, {Crude fat: [70.28, g, Green, 2.47905672, ounce]}, {Folate: [23.96, mcg, Red, 0.00000084516504, ounce]}...]
在这个问题中,我需要检查给定的键是否存在。例如,检查键“Calcium”是否存在,如果存在,则需要获取属于该键的数组的索引0和索引2的值。我希望以迭代的方式执行此操作。
我应该如何在Dart中实现这一点?
我已经尝试过这个方法,但它不起作用,可能是我方法不对。
nutrientList.forEach((element) {
if(nutrientList.contains("Calcium")) {
valCalcium = element.calcium[0];
calciumClr = element.calcium[2];
} else {}
if
检查应该使用element.contains
,而不是nutrientList.contains
。element
是一个具有element
getter 的对象,则element.calcium[0]
可以工作。但是,element
看起来是一个Map<String, List<Object>>
,所以你需要使用element["Calcium"][0]
。