如何访问Dart中嵌套Map中给定键的值?



我是新来的Dart,我一直在尝试访问"farm_size"输入以下代码段,但不成功。我可以进入"农场"。这样的

print(myData1[0]["farms"]);

但没有进一步。任何帮助都将不胜感激。谢谢。

void main() {
var myData1 = [
{
"id": 1,
"first_name": "Jordan",
"sur_name": "Zamunda",
"member_n0": "AA1",
"gender": "male",
"phone": "123456789",
"email": "jordan@example.com",
"farms": [
{"id": 1, "farm_name": "SOUTH_FARM", "farm_size": "160 acres"},
{"id": 2, "farm_name": "NORTH_FARM", "farm_size": "190 acres"}
]
}
];
print(myData1[0]["farms"]);
}

farms里面,有更多的地图列表,要访问这些地图,你需要指定你的地图索引,例如我们想要获得第一个地图,我们输入:

print(myData1[0]["farms"][0]);
//this will print => {"id": 1, "farm_name": "SOUTH_FARM", "farm_size": "160 acres"}
//to get the name of this farm, you use the key 'farm_name' now:
print(myData1[0]["farms"][0]['farm_name']);
//prints=> SOUTH_FARM

如果你在dartpad中运行它,这将工作:

void main() {

var myData1 = [
{
"id": 1,
"first_name": "Jordan",
"sur_name": "Zamunda",
"member_n0": "AA1",
"gender": "male",
"phone": "123456789",
"email": "jordan@example.com",
"farms": [
{"id": 1, "farm_name": "SOUTH_FARM", "farm_size": "160 acres"},
{"id": 2, "farm_name": "NORTH_FARM", "farm_size": "190 acres"}
]
}
];
List<Map<String,dynamic>> _list = myData1[0]["farms"]as List<Map<String,dynamic>> ;

print(_list[0]['farm_name']);

}

try this

List m = myData1[0]['farms'] as List;
print(m[0]['id']);

最新更新