我正在使用 JSON4S 来生成一些 JSON。
如果满足条件,我想生成以下内容:
{"fld1":"always", "fld2":"sometimes"}
如果条件不满足,我想产生:
{"fld1":"always"}
到目前为止,我尝试过的是:
val fld1 = "fld1" -> "always"
val json = if(condition) ("fld2" -> "sometimes") ~ fld1 else fld1
compact(render(json))
但是,这给了我render
“找到:具有可序列化的产品。必需:org.json4s.package.JValue”中的类型不匹配。
有趣的是,这是render(("fld2" -> "sometimes") ~ fld1)
有效的,也是如此render(fld1)
。问题似乎与推断的类型有关json
。
我该如何解决这个问题?