Json4s ignoring None fields during seriallization (instead of using 'null')

后端 未结 1 828
轻奢々
轻奢々 2020-12-19 23:21

I am having a generic json serialization method that uses json4s. Unfortunately, it is ignoring fields if the value is None. My goal is to have

相关标签:
1条回答
  • 2020-12-20 00:02

    I assume that you would like to have Nones serialized to null within your JSON. In this case it is sufficient to use DefaultFormats.preservingEmptyValues:

    import java.util.Date
    import org.json4s._
    import org.json4s.jackson.Serialization
    
    object test extends App {
    
      implicit val f = DefaultFormats.preservingEmptyValues // requires version>=3.2.11
    
      case class JsonTest(x: String, y: Option[String], z: Option[Int], a: Option[Double], b: Option[Boolean], c:Option[Date], d: Option[Any])
    
      val v = JsonTest("test", None, None, None, None, None, None);
    
      // prints {"x":"test","y":null,"z":null,"a":null,"b":null,"c":null,"d":null}
      println(Serialization.write(v))
    }
    
    0 讨论(0)
提交回复
热议问题