Как удалить ключи с нулевыми значениями из объектов Argonaut Json

Как можно написать метод расширения, чтобы удалить все ключи с 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 объект...

1 ответ

Argonaut поддерживает это внутренне, вы можете использовать PrettyParams делать то, что вы после:

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

Надеюсь, что это охватывает ваш вопрос!

Другие вопросы по тегам