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

如何在Dart中遍历JSON对象并提取其值?

在Dart中遍历JSON对象并合并URL列表

待处理的JSON结构

"SomeJsonList": {
    "image": ["imageUrl1", "imageUrl2"],
    "video": ["videoUrl1", "videoUrl2"]
}

实现步骤与代码

假设你已经将JSON解析为Dart的Map<String, dynamic>对象(如果是从字符串解析,可使用jsonDecode方法),通过以下方式即可合并列表:

import 'dart:convert';

void main() {
  // 示例JSON字符串
  String jsonStr = '''{
    "SomeJsonList": {
      "image": ["imageUrl1", "imageUrl2"],
      "video": ["videoUrl1", "videoUrl2"]
    }
  }''';

  // 解析JSON为Map对象
  Map<String, dynamic> parsedJson = jsonDecode(jsonStr);
  Map<String, dynamic> mediaMap = parsedJson['SomeJsonList'];

  // 初始化目标列表
  List<String> urlList = [];

  // 遍历mediaMap的所有值,将每个子列表的元素批量加入目标列表
  mediaMap.values.forEach((urls) {
    urlList.addAll(urls);
  });

  print(urlList);
  // 输出结果: [imageUrl1, imageUrl2, videoUrl1, videoUrl2]
}

简化核心逻辑

如果已经直接持有SomeJsonList对应的mediaMap对象,核心代码可简化为:

List<String> urlList = [];
mediaMap.values.forEach((urls) => urlList.addAll(urls));

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 02:15:41