Scala 如何将JNothing序列化为null

Scala 如何将JNothing序列化为null,scala,lift-json,json4s,Scala,Lift Json,Json4s,使用json支持的json4s,如果我执行以下操作: val foobar = ("foo" -> JNothing) ~ ("bar" -> 42) println(write(foobar)) 输出为: {,“bar”:42} 这不是有效的JSON。我想获得: {“foo”:null,“bar”:42} 有没有办法将JNothing序列化为null?我发现,如果我将JNothing替换为JNull,我会得到我期望的结果。为什么需要这个?没有foo元素意味着它是nullalre

使用json支持的json4s,如果我执行以下操作:

val foobar = ("foo" -> JNothing) ~ ("bar" -> 42) 
println(write(foobar))
输出为:

{,“bar”:42}

这不是有效的JSON。我想获得:

{“foo”:null,“bar”:42}


有没有办法将
JNothing
序列化为
null

我发现,如果我将
JNothing
替换为
JNull
,我会得到我期望的结果。

为什么需要这个?没有foo元素意味着它是
null
already@Tala:另一端的反序列化程序希望它是可以为null的强制值。通常,默认情况下,可以通过将
null
设置为这些值来克服这一问题fields@Tala:如果我可以控制接收端,当然可以。然而,我被要求发送{“foo”:null,“bar”:42}我认为生成无效JSON是一个应该报告的错误。。。