package demo import kotlinx.serialization.Serializable import kotlinx.serialization.json.Json import org.joda.money.CurrencyUnit.USD import org.joda.money.Money @Serializable data class Order(val items: List) { fun total(): Money = Money.ofMinor(USD, items.sum().toLong()) } fun main() { val json = """{ "items": [2400, 1800, 800] }""" val order = Json.decodeFromString(json) val (items) = order println("${items.size} items, ${order.total()}") }