とスリック、私はケースクラスとして列挙国を実装しました、そして、それは文字列としてJSONへの書き込み/読みたいです。これは完全なコードです。Play Scalaでstringをenumクラスとして読み取るにはどうすればよいですか?
package models.enums
import play.api.libs.json._
import slick.lifted.MappedTo
case class Country(id: String) extends MappedTo[String] {
override def value: String = id
}
object Country {
val France = Country("FR")
val Germany = Country("DE")
implicit val writes = Writes[Country](
(site: Country) => JsString(site.value)
)
// this line I need help with
implicit val reads = Json.reads[Country]
}
国別の列挙型は他のモデルでも使用されています。
{
"name": "Robo"
"country": "DE"
}
上記のコードは、私が欲しいものであるプレーンな文字列として列挙型を書き込みますが、私は、暗黙の読み取り部分を実装する方法を見つけ出すことはできません。 JSONは以下のようであれば、現在の読み取りにのみ動作します:
{
"name": "Robo"
"country": {
"id": "DE"
}
}
私は答えは簡単であると確信している、ちょうど正しい構文を把握することはできません。
をごJSONsは、フィールド宣言の間にカンマが含まれていません。 –