【问题标题】:copy/map json/data class structure in kotlin在 kotlin 中复制/映射 json/data 类结构
【发布时间】:2018-03-21 15:56:46
【问题描述】:

我是 kotlin 的新手,我尝试以一种有效的方式将 JSON 结构复制到另一个结构。

我有一个名为 getData() 的 API,如何发回定义如下的数据结构:

data class DataA(
    var id: String,
    var cartItems: List<CartItem>, 
}

当 getData 发回 DataA 结构时,我必须将它映射或转换为另一个定义如下的结构:

data class DataB(
    var cartItems: List<CartItem>, 
}

有简单的方法吗?我知道 kotlin 可以很容易地封装调用来让它变得更好。

谢谢

【问题讨论】:

  • 您需要简单地将DataA 转换为DataB 还是需要创建一个包含cartItems 列表克隆的DataB 实例?
  • 我需要一个 DataB 实例。

标签: json kotlin data-class


【解决方案1】:

由于您只需要将DataA 的实例转换为DataB 的实例,您可以做的是DataB(dataA.cartItems),其中dataADataA 的实例。

但是请注意,如果出于任何原因您从 dataA 修改了 cartItems 的任何项目,此更改也将反映到 dataB,因为它们共享相同的列表对象。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-27
    • 1970-01-01
    • 1970-01-01
    • 2018-09-18
    • 1970-01-01
    • 1970-01-01
    • 2021-04-16
    相关资源
    最近更新 更多