1

使用播放!2.1 Json库,有没有办法只在满足一定条件的情况下才将字段写入json?例如:

case class Foo(id: Int, name: String)

我想定义一个仅在名称不为空Writes时才生成字段的字段。name以便:

Json.toJson(Foo(1, "Chuck")) //yields {"id":1,"name":"Chuck"}    
Json.toJson(Foo(1, ""))      //yields {"id":1}
4

1 回答 1

4

您必须编写自己的Writes[T]类,在这种情况下,Writes[Foo]请参阅Scaladoc以供参考。或者,您可以将 String 更改为 anOption[String]并写入一个Writes[Option[String]]Writes[Option[_]]

我自己没有尝试过,但它与我过去使用的 Spray-json 非常相似。

于 2013-01-11T15:58:35.500 回答