You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取外层Map嵌套列表中内部Map的id值?

问题解决方法

先看你的JSON结构,decodedData是个Map,不是List,你写的for循环完全没必要,逻辑还错了,这也是你拿不到enclosures里id的原因。

正确获取user_id的方式

直接通过键名访问Map就行,不用循环:

Map<String, dynamic> decodedData = jsonDecode(res.body);
print(decodedData['user_id']); // 输出7

获取enclosures中的id值

enclosures是个包含单个Map元素的List,得先取出这个List,再访问里面的元素,最后拿id:

// 先拿到enclosures列表
List<dynamic> enclosures = decodedData['enclosures'];
// 取列表里第一个元素(你的JSON里只有一个)
Map<String, dynamic> enclosure = enclosures[0];
// 获取id值
int enclosureId = enclosure['id'];
print(enclosureId); // 输出111

嫌麻烦也可以写成链式调用,更简洁:

int enclosureId = decodedData['enclosures'][0]['id'];
print(enclosureId); // 输出111

额外提醒

如果enclosures列表可能为空,最好先做非空判断,避免报错崩溃:

if (decodedData['enclosures'] != null && decodedData['enclosures'].isNotEmpty) {
  int enclosureId = decodedData['enclosures'][0]['id'];
  print(enclosureId);
} else {
  print('enclosures列表为空或不存在');
}

内容的提问来源于stack exchange,提问作者Anmol Singh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 23:30:02