如何在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
相关产品推荐
相关产品推荐

