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

Kotlin如何从复杂嵌套数据类中提取字段构造目标数据类实例

Kotlin 嵌套数据类转换实现方案

核心实现代码

你需要使用flatMap展开外层offers集合,再通过map遍历每个Offer下的offerDescription集合完成属性映射:

data class OfferSystem(
    val id: String,
    val offers: List<Offer>
){
  fun toMyContent(): MyContent {
    return MyContent(
        // 其余MyContent的属性按你实际需求补充即可
        contents = offers.flatMap { offer ->
            // 遍历当前Offer下的所有OfferDescription,生成对应ContentItem
            offer.offerDescription.map { desc ->
                ContentItem(
                    title = desc.title,
                    language = offer.language
                )
            }
        }
    )
  }
}

逻辑说明

  • flatMap的作用是把两层嵌套的集合(List<Offer>里嵌套List<OfferDescription>)展平为单层的List<ContentItem>,完全匹配MyContent对contents字段的类型要求
  • 遍历每个Offer时可以直接取到当前Offer的language属性,和子元素OfferDescription的title属性一一对应赋值给ContentItem即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 03:36:04