Сериализация JSON в Scala 2.10

До Play 2.1 и Scala 2.10 я использовал Jerkson.

К сожалению, официально выпущенной версии Jerkson, совместимой с Scala 2.10, пока нет.

С тех пор я использую Джексона с модулем Scala, но у меня нет желаемого поведения с перечислениями.

Я пытаюсь использовать Play 2.1 для чтения, записи и форматирования, используя начало макросов, но это кажется очень болезненным, и мне нужно добавить шаблонные элементы в мои модели, чтобы начало работало:

object User extends ((String, String, Option[String], Option[String], Long, Long, Boolean, Boolean, ObjectId) => User) {
 ...
}

Тогда я могу использовать implicit val userFormat: Format[User] = Json.format[User]

И я до сих пор не могу динамически сериализовать Object, но просто User

Я не смотрел на Lift, но он, кажется, добавляет столько же стандартного кода, сколько и библиотека Play2.1 Json.


Я думаю, что сериализация должна быть легкой в ​​любом языке. Я не хочу писать собственные сериализаторы или парсеры.

Я ожидаю, что библиотека будет работать с таким кодом:

case class User(name: String, status: Status.Value)
val myUser = User("toto",Status.VALID)
val myMap: Map[String,Object] = ("key1" -> myUser, "key2" -> "value2")
Json.serialize(myMap)

Это то, что предоставляется в Java с Gson, Jackson и другими подобными инструментами.


Так что с Scala 2.10 я не знаю, какой инструмент использовать. И я не понимаю, зачем нам нужно создавать собственные сериализаторы для таких простых случаев. Может быть, Play2.1 Json быстрее, потому что он основан на макросах, но разве нет возможности, чтобы, если нет формата, он использовал отражение или что-то еще?

Знаете ли вы какой-либо инструмент, который coold подходит для моего использования?

2 ответа

Решение

Я заменил свой код Джексона на модуль Джексона Скала, и он работает нормально

Есть множество вилок Джерксона, портированных на 2.10, но я не знаю, сколько их выпускают в репозитории Maven.

Вот мой, который в основном получен из Рэнда Хинди плюс несколько моих собственных патчей.

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