Я хочу сделать универсальный JSON-сериализатор различных типов моего собственного списка (например, Group, GroupView, GroupItemsView). Итак, я определяю все три Json.FormatScala Universal Serializer PlayFramework
implicit val groupsFormat = Json.format[Group]
implicit val groupsViewFormat = Json.format[GroupView]
implicit val groupsItemsViewFormat = Json.format[GroupItemsView]
Моей функцию, которая должна упорядочивание различных элементов списка:
def groupViewToJson(entityList: List[Any]): JsValue = {
val jsonList = Json.toJson(
entityList.map(m => Json.toJson(m))
)
jsonList
}
Он работает только тогда, когда для для EntityList я определить конкретный тип списка. Он не хочет работать с любым типом. Ошибка следующим образом:
No Json serializer found for type Any. Try to implement an implicit Writes or Format for this type.
Как сделать PlayFramework Scala JSON Serializer работать с моим типом универсально?
Спасибо, что решает мою проблему! Я полностью забыл о параметризации типа. –
Также обратите внимание, что Json уже предоставляет запись для списков, учитывая, что у вас есть сценарист для класса case, поэтому, если вы не планируете добавлять дополнительные функции к своей функции groupViewToJson, вы можете использовать его вместо этого. –