阶/ liftweb串行化JSON(scala/liftweb serializing json)

2019-11-03 18:23发布

我使用net.liftweb解析器斯卡拉

我有这样一个JSON

  {
  "k1":"v1",
  "k2":["v21", "v22", "v23"]
  }

K2是一个可选字段,JSON可能会或可能不会拥有它。 我解压到这一点的情况下,类

情况下类MyCC(K1:字符串,K2:列表[字符串])

当JSON被转换成类的情况下,如果k2为不存在,则它被反序列化为空列表。 问题是在转换回JSON,我怎么能让它是否是一个空列表解析器不序列化这个领域。

Answer 1:

您应该创建自定义序列 。 这应该是罚款,你的情况:

import org.json4s._
import org.json4s.native.Serialization.write
class NilSerializer extends CustomSerializer[List[String]](format => ( {
    case JNothing => Nil
  }, {
    case Nil => JNothing
}))

implicit val formats = DefaultFormats + new NilSerializer
println(write(MyCC("key", Nil)))
>> {"k1":"key"}


文章来源: scala/liftweb serializing json
标签: scala lift