Spielen Sie eine Übereinstimmung mit 2.2, wenn ein impliziter Json-Konverter vorhanden ist
Ich habe alle meine Json-Konverter in eine Datei JsonUtil gestellt und dann eine convertToJson-Methode, die versucht, alle an json übergebenen Objekte zu konvertieren.
Grundsätzlich eine Struktur wie diese:
implicit val format_A = format[A]
implicit val format_B = format[B]
def convertToJson(o: Any): JsValue =
o match {
case a: A => Json.toJson(a)
case b: B => Json.toJson(b)
case a: Any => Logger.warn("could not convert to json: "+a); JsNull
}
aber mit viel mehr Formatierern / Fällen. Ich möchte nicht alle diese Implicits importieren, wenn ich Konvertierungen benötige (aus verschiedenen Gründen). Gibt es eine Möglichkeit, eine Übereinstimmung zu finden, wenn eine gültige toJson-Konvertierung vorhanden ist, sodass ich nicht alle Fälle schreiben müsste?
mögen:
case o: ExistJsonConversion => Json.toJson(o)