2013-10-27 2 views
3

У меня есть случай класс какКаков самый простой способ довести класс Case Scala до JSON в Play Framework 2.1.x?

case class Person(firstName: String, lastName: String) 

я хотел бы довольно-печать как JSON. Я работаю в Play Framework 2.1.x. У меня также есть библиотека Salat в моем пути к классам, поэтому я тоже мог бы использовать это. Я хотел бы посмотреть, что все варианты, однако, включают json4s и т. Д.

Библиотеки JSON в Скала развиваются быстро. Я считаю, что это можно сделать с помощью нескольких строк кода для всех классов case (т. Е. Без необходимости использования дополнительного кода для каждого класса case) с использованием макросов и т. Д.

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

http://eng.42go.com/working-with-json-in-play-2-1/

https://github.com/novus/salat/wiki/JSON

Scala 2.10, its impact on JSON libraries and case class validation/creation

Но я хотел бы видеть примеры использования json4s и таких, как хорошо.

ответ

3

Мне нравится встроенная поддержка JSON в Play 2.x. Он работает, он хорошо документирован, и это всего лишь одна из причин, о которых нужно беспокоиться.

Ваш JSON довольно-печать Person будет осуществляться в две строки (плюс импорт):

import play.api.libs.json._ 
... 
implicit val personFormat = Json.format[Person] 
println(Json.toJson(personToWrite)) 
2

Scala pickling - это новый, способный и подходящий способ сделать это. Это должно быть очень быстро и выглядит довольно просто.

Текущая версия 0.8.0-SNAPSHOT, а в будущем 0.8.0 объявляется стабильной версией.