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
ただし、これにより、 「Found: Product with Serializable. Required: org.json4s.package.JValue」でタイプの不一致が発生します。
興味深いのは、これがrender(("fld2" -> "sometimes") ~ fld1)
機能することrender(fld1)
です。問題は、 の推論された型にあるようですjson
。
どうすればこれを修正できますか?