1

プレイ!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}
4

1 に答える 1

4

独自のWrites[T]クラスを作成する必要があります。この場合は、 ScaladocWrites[Foo]を参照してください。または、文字列を に変更して、またはと書くこともできます。Option[String]Writes[Option[String]]Writes[Option[_]]

自分で試したことはありませんが、過去に使用した Spray-json と非常によく似ています。

于 2013-01-11T15:58:35.500 に答える