Как игнорировать ключ от json при отображении в case-классе - PullRequest
0 голосов
/ 14 сентября 2018

Если у меня есть JSON

{"name":"jack","email":"jackt@gmail.com"}

сейчас при отображении этого JSON, я хочу, чтобы в моем классе дел отображалось только имя, например

case class Person(name:String)

Как мы можем этого достичь?

Ответы [ 2 ]

0 голосов
/ 14 сентября 2018
import spray.json._


case class Person(name: String)
object PersonFormat extends DefaultJsonProtocol {
  implicit val personFormat = jsonFormat1(Person)
}
import PersonFormat._

val source = """{ "name":"jack", "email":"jackt@gmail.com" }"""
source.parseJson.convertTo[Person]

Вам необходимо определить JsonProtocol с неявным значением val.

0 голосов
/ 14 сентября 2018
    import play.api.libs.json.Json 

    case class Sample(name:String)

    implicit val SampleJosn = Json.reads[Sample]

    val result = Json.parse("""{"name":"jack","email":"jackt@gmail.com"}""").as[Sample]

    val result2 = Json.parse("""{"name":"jack"}""").as[Sample] 

Ваше имя будет отображено без учета электронной почты.

Смотрите здесь Скрипка: https://scalafiddle.io/sf/9nppAtI/0

...