ich folgenden Fall KlasseWie serialisiert generische Klasse?
case class UserId(value: String) extends MappedTo[String]
haben (MappedTo
ist ein generischer ID Fall Klasse von slick.typesafe
) und ich erkläre seine Serializer in json4s
case object IdSerializer extends CustomSerializer[UserId](format => ({
case JString(s) => UserId(s)
case JNull | JNothing => null
}, {
case i: UserId => JString(i.value)
case JNull | JNothing => null
}))
Das Problem ist, dass ich mehr als 20 id haben Felder wie das, und ich möchte Serializer für jedes davon nicht deklarieren. Gibt es eine Möglichkeit, es für MappedTo
zu tun, so dass es auf alle seine Unterklasse angewendet werden kann?
Ja json4s kann die meisten Fallklassen serialisieren. Mit 'UserId (value: String)' ist die Serialisierung jedoch '{userId: {value: ....}}' was ich nicht erwarte. Also habe ich eine benutzerdefinierte Serialisierung erstellt, um es wie '{userId: ...}' –
Oh, ich kann sehen, warum Sie das tun möchten. Ich werde meine Antwort aktualisieren. –