I need to receive a big JSON on my server (more than 22 fields). I have a case class with a lot of fields:
case class Filters(objectType: Option[String] = No
I did it this way:
case class Filters(part1: Part1, part2: Part2, ...)
case class Part1(
field1: Field1,
field2: Field2,
...
field10: Field10,
)
object Part1 {
implicit val part1Format = Json.format[Part1]
}
...
object Filters {
implicit val filtersReads = (
JsPath.read[Part1] and
JsPath.read[Part2] and
...
)(Filters.apply _)
implicit val filtersWrites = (
JsPath.write[Part1] and
JsPath.write[Part2] and
...
)(unlift(Filters.unapply))
}