如何从Argonaut Json对象中删除具有空值的键

问题描述 投票:0回答:1

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

我试过这个:

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值的键...

scala argonaut
1个回答
0
投票

Argonaut在内部支持这一点,你可以使用PrettyParams做你想做的事情:

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

希望这能涵盖你的问题!

© www.soinside.com 2019 - 2024. All rights reserved.