varsayalım ben şöyle bir numaralandırma veya davanın mühürlü grup nesneleri vardır:serialize ve skala enumerations veya dava Deserialize json4s kullanarak nesneleri
sealed abstract class Status
case object Complete extends Status
case object Failed extends Status
case object Pending extends Status
case object Unknown extends Status
veya json oluşturmanın en kolay yolu nedir
object Status extends Enumeration {
val Complete, Failed, Pending, Unknown = Value
}
Bunlar için formatları çok kolay (programlı olarak), tüm normal durum sınıfları, dizeler, koleksiyonlar vb. için çalışan, ancak {}
veya JsonFormat
fabrika yönteminde kullanılmak üzere json formatları oluşturabilmem için örtük biçimde ekler ve Tüm özel tanımlar biz özellik mixin var Uygulamada
import org.json4s._
import org.json4s.ext.EnumNameSerializer
class DoesSomething {
implicit lazy val formats = DefaultFormats + new EnumNameSerializer(Status)
...stuff requiring serialization or deserialization...
}
: Biz numaralandırma seri hale getirmek için org.json4s.ext.EnumNameSerializer
kullandım
import org.json4s.DefaultFormats
import org.json4s.jackson.JsonMethods.parse
import org.json4s.jackson.Serialization
import org.json4s.jvalue2extractable
import org.json4s.string2JsonInput
trait JsonFormat[T] {
def read(json: String): T
def write(t: T): String
}
object JsonFormat {
implicit lazy val formats = DefaultFormats
def create[T <: AnyRef: Manifest](): JsonFormat[T] = new JsonFormat[T] {
def read(json: String): T = parse(json).extract[T]
def write(t: T): String = Serialization.write(t)
}
}