科尔廷新手在这里。如果我有一个包含 (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 可以处理这些数据类型。
谢谢你。