play-jsonの読み取りを使用して、次のJsonを結果のcaseクラスに変換します。しかし、私は経緯度と緯度のjson値をPointオブジェクトに変換し、残りのjson値を同じ結果のBusinessInputオブジェクトに変換する構文に固執しています。 これは構文的に可能ですか?複数のJsonフィールドから単一のサブフィールドを作成し、Play-jsonを使用して結果のObjectに適用します。
case class BusinessInput(userId: String, name: String, location: Point, address: Option[String], phonenumber: Option[String], email: Option[String])
object BusinessInput {
implicit val BusinessInputReads: Reads[BusinessInput] = (
(__ \ "userId").read[String] and
(__ \ "location" \ "latitude").read[Double] and
(__ \ "location" \ "longitude").read[Double]
)(latitude: Double, longitude: Double) => new GeometryFactory().createPoint(new Coordinate(latitude, longitude))