Scala中的JSON条件写入

时间:2013-01-11 15:18:01

标签: json scala playframework-2.0

使用Play! 2.1 Json库,只有在满足某个条件时才有办法将字段写入json吗?例如:

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

如果name不为空,我想定义Writes仅生成name字段。那样:

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

1 个答案:

答案 0 :(得分:4)

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

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