Библиотека Scala JSON с автоматической сериализацией (через самоанализ)

Я ищу хорошую библиотеку JSON для Scala, которая может сериализовать произвольный граф объектов в JSON, не требуя от меня написания кода отображения.

Джексон из Java делает это, но он не является родным для Scala, и у меня возникают некоторые проблемы с его десериализацией вложенных обобщенных элементов (которые я приписываю системе типов Java). Есть Джерксон, фантик Scala для Джексона, но он заброшен на несколько лет.

Что вы порекомендуете?

2 ответа

Core Jackson не имеет явной поддержки Scala, но модуль Jackson Scala:

https://github.com/FasterXML/jackson-module-scala

поддерживает типы данных Scala.

play-json, http://mvnrepository.com/artifact/com.typesafe.play/play-json_2.11, является хорошим выбором. На самом деле это обертка вокруг Джексона, но она предоставляет множество утилит, которые уменьшают сериализацию и десерилизацию. Для получения более подробной информации, https://www.playframework.com/documentation/2.4.x/ScalaJson

Кроме того, он уже обеспечивает чтение и запись для базового типа данных в Scala. Все, что вам нужно сделать, это определить формат модели в объекте-компаньоне.

import play.api.libs.json.Json
implicit val format = Json.format[YourObject]

Это подробный пример, https://github.com/luongbalinh/play-mongo/blob/master/app/models/User.scala

Другие вопросы по тегам