Scala 如何将JNothing序列化为null
使用json支持的json4s,如果我执行以下操作: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
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是一个应该报告的错误。。。