score:-1

Use Option with readNullable

import play.api.libs.functional.syntax._
import play.api.libs.json._
case class Address(line1: String, line2: String, line3: String, line4: Option[String])

object Address {
  implicit val reads: Reads[Address] = (
      (JsPath \ "line1").read[String] and
      (JsPath \ "line2").read[String] and
      (JsPath \ "line3").read[String] and
      (JsPath \ "line4").readNullable[String]
    )(Address.apply _)
}

Related Query

More Query from same tag