从Play Json中删除值

时间:2014-11-04 19:26:14

标签: json playframework-2.0

我在Play中有一个案例类:

case class Airport(name: String, iata: String, country:String)

object Airport {
  implicit val AirportAutoCompleteFormat = (
      (JsPath \ "name").format[String] and
      (JsPath \ "iata").format[String] and
      (JsPath \ "country").format[String]
    )(AirportAutoComplete.apply,unlift(AirportAutoComplete.unapply))

}

现在我想通过Ok(Json.toJson(..))回复发送一个机场。但我不想发出国家字符串。我能以某种方式放弃吗?

修改:工作解决方案Ok(Json.toJson(AirportList.map(Json.toJson(_).as[JsObject] - "country")))

1 个答案:

答案 0 :(得分:1)

您应该使用-

对于名为x的val,您将使用以下代码:

Ok(Json.toJson(x) - "country")

来自JsObject Scaladoc:https://www.playframework.com/documentation/2.1.0/api/scala/index.html#play.api.libs.json.JsObject