我在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")))
答案 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