使用杰克逊与多个枚举器

时间:2016-11-23 20:03:02

标签: java json scala jackson

所以我有两个扩展scala.Enumeration的类,我遇到了一个jackson问题,它无法分辨使用哪个序列化程序。有没有人找到解决这个问题的方法?

这是两个类:

第1课:

object status1 extends Enumeration{
  type status1 = Value
  val OK, OK_BACKFETCH, MISSING, UNKNOWN = Value
}

第2课:

object DataPointStatus extends Enumeration {
  type DataPointStatus = Value
  val OK, OK_BARRIER, MISSING, MISSING_BARRIER, NO_DATA, UNKNOWN = Value
}

序列化器1:

class class1Serializer extends CustomSerializer[class1](format => (
    {
      case status: JString=>
        status match {
          case JString("ok") => class1.OK
          case JString("backfetch") => class1.OK_BACKFETCH
          case JString("missing") => class1.MISSING
          case _ => class1.UNKNOWN
        }
    },
    {
      case status: class1 =>
        status match {
          case class1.OK => JString("ok")
          case class1.OK_BACKFETCH => JString("backfetch")
          case class1.MISSING => JString("missing")
          case _ => JString("unknown")
        }
    }
    ))

(序列化器2看起来基本相同)

0 个答案:

没有答案