0

科尔廷新手在这里。如果我有一个包含 (Kotlin) Borrowers and Books 的图书馆,并且Book当它有 a 时被签出Borrower(使用 Arrow 的Option数据类型):

data class Borrower(val name: Name, val maxBooks: MaxBooks)
data class Book(val title: Title, val author: Author, val maybeBorrower: Option<Borrower> = None)

如何在小型库之间进行编码和解码:

val br1 = Borrower("Borrower1", 1)
val bk1 = Book("Title1", "Author1", Some(br1))
val bk2 = Book("Title2", "Author2", None)

它是 JSON 表示:

val jsonStringBooks = """[{"title":"Title1","author":"Author1","borrower":{"name":"Borrower1","maxBooks":1}},{"title":"Title2","author":"Author2","borrower":null}]"""

使用克拉克松?

一个Option(或Either?)通过 Klaxon 的表示让我失望。我相信 Scala 的 spray-json 可以处理这些数据类型。

谢谢你。

4

0 回答 0