json4s - как использовать несколько FieldSerializer
Какой правильный синтаксис для использования нескольких 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
1 ответ
Вы можете переименовать несколько полей в одном FieldSerializer
с orElse
:
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