使用多个 FieldSerializer 的正确语法是什么?我正在尝试重命名 3 个字段,只有将其中一个字段与 DefaultFormats 连接起来才有效
val currg = FieldSerializer[Currency](renameTo("gameCurr", "gameCurr"), renameFrom("currg", "gameCurr"))
val curre = FieldSerializer[Currency](renameTo("currency", "currency"), renameFrom("curre", "currency"))
val lprice = FieldSerializer[Currency](renameTo("price", "price"), renameFrom("lprice", "price"))
implicit val formats = org.json4s.DefaultFormats + lprice //+ curre + currg
如果我只使用一个 FieldSerializer,它就像一个魅力
implicit val formats = org.json4s.DefaultFormats + lprice
最佳答案
您可以使用 orElse
重命名单个 FieldSerializer
中的多个字段:
val rename_currency_fields = FieldSerializer[Currency](
renameTo("foo", "bar") orElse renameTo("baz", "qux")
renameFrom("bar", "foo") orElse renameFrom("qux", "baz")
)
implicit val formats = org.json4s.DefaultFormats + rename_currency_fields
关于scala - json4s - 如何使用多个 FieldSerializer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46622782/