3

如何编写扩展方法以null从 ArgonautJson对象中删除具有值的所有键:

我试过这个:

package object Extensions {
  implicit class JsonExtensions(val json: Json) extends AnyVal {
    def removeNulls: Json = {
      json.withObject(j => JsonObject.from (j.toMap.filter(!_._2.isNull).toList))
    }
  }
}

但它似乎只是在删除对象null顶层具有值的键Json......

4

1 回答 1

5

Argonaut 在内部支持此功能,您可以使用PrettyParams它来做您想做的事情:

def removeNulls: Json = {
  json.pretty(PrettyParams.nospace.copy(dropNullKeys = true)).toJson
}

希望这涵盖了您的问题!

于 2018-03-06T09:42:12.033 回答